Lines Matching refs:proc
125 JdwpProcess* proc = _jdwp_list.next;
127 for ( ; proc != &_jdwp_list; proc = proc->next ) {
131 if (proc->pid < 0)
134 len = snprintf(p, end-p, "%d\n", proc->pid);
158 jdwp_process_free( JdwpProcess* proc )
160 if (proc) {
163 proc->prev->next = proc->next;
164 proc->next->prev = proc->prev;
166 if (proc->socket >= 0) {
167 adb_shutdown(proc->socket);
168 adb_close(proc->socket);
169 proc->socket = -1;
172 if (proc->fde != NULL) {
173 fdevent_destroy(proc->fde);
174 proc->fde = NULL;
176 proc->pid = -1;
178 for (n = 0; n < proc->out_count; n++) {
179 adb_close(proc->out_fds[n]);
181 proc->out_count = 0;
183 free(proc);
196 JdwpProcess* proc = calloc(1,sizeof(*proc));
198 if (proc == NULL) {
203 proc->socket = socket;
204 proc->pid = -1;
205 proc->next = proc;
206 proc->prev = proc;
208 proc->fde = fdevent_create( socket, jdwp_process_event, proc );
209 if (proc->fde == NULL) {
211 free(proc);
215 proc->fde->state |= FDE_DONT_CLOSE;
216 proc->in_len = 0;
217 proc->out_count = 0;
220 proc->next = &_jdwp_list;
221 proc->prev = proc->next->prev;
223 proc->prev->next = proc;
224 proc->next->prev = proc;
227 fdevent_add(proc->fde, FDE_READ);
229 return proc;
236 JdwpProcess* proc = _proc;
239 if (proc->pid < 0) {
241 char* p = proc->in_buff + proc->in_len;
242 int size = 4 - proc->in_len;
262 proc->in_len += len;
266 memcpy(temp, proc->in_buff, 4);
269 if (sscanf( temp, "%04x", &proc->pid ) != 1) {
270 D("could not decode JDWP %p PID number: '%s'\n", proc, temp);
275 D("Adding pid %d to jdwp process list\n", proc->pid);
293 D("terminating JDWP %d connection: %s\n", proc->pid,
300 proc->pid, len );
305 if (proc->pid >= 0)
306 D( "remove pid %d to jdwp process list\n", proc->pid );
307 jdwp_process_free(proc);
314 proc->pid, proc->out_count, proc->out_fds[0]);
315 if (proc->out_count > 0) {
316 int fd = proc->out_fds[0];
341 ret = sendmsg(proc->socket, &msg, 0);
347 proc->pid, strerror(errno));
352 fd, proc->pid);
354 for (n = 1; n < proc->out_count; n++)
355 proc->out_fds[n-1] = proc->out_fds[n];
357 if (--proc->out_count == 0)
358 fdevent_del( proc->fde, FDE_WRITE );
367 JdwpProcess* proc = _jdwp_list.next;
370 for ( ; proc != &_jdwp_list; proc = proc->next ) {
371 if (proc->pid == pid) {
382 if (proc->out_count >= MAX_OUT_FDS) {
394 proc->out_fds[ proc->out_count ] = fds[1];
395 if (++proc->out_count == 1)
396 fdevent_add( proc->fde, FDE_WRITE );
492 JdwpProcess* proc;
512 proc = jdwp_process_alloc( s );
513 if (proc == NULL)