proc_state impl
This commit is contained in:
		
							parent
							
								
									4ad0aea473
								
							
						
					
					
						commit
						03b36fdd4c
					
				@ -264,12 +264,32 @@ int sigar_proc_time_get(sigar_t *sigar, sigar_pid_t pid,
 | 
				
			|||||||
int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
 | 
					int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
 | 
				
			||||||
                         sigar_proc_state_t *procstate)
 | 
					                         sigar_proc_state_t *procstate)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SIGAR_SSTRCPY(procstate->name, "java");
 | 
					    struct tbl_procinfo info;
 | 
				
			||||||
    procstate->ppid = -1;
 | 
					    int status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    status = table(TBL_PROCINFO, pid, &info, 1, sizeof(info));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (status != 1) {
 | 
				
			||||||
 | 
					        return errno;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SIGAR_SSTRCPY(procstate->name, info.pi_comm);
 | 
				
			||||||
 | 
					    procstate->ppid = info.pi_ppid;
 | 
				
			||||||
    procstate->priority = -1;
 | 
					    procstate->priority = -1;
 | 
				
			||||||
    procstate->nice = -1;
 | 
					    procstate->nice = -1;
 | 
				
			||||||
    procstate->tty = -1;
 | 
					    procstate->tty = info.pi_ttyd;
 | 
				
			||||||
    procstate->state = 'R';
 | 
					
 | 
				
			||||||
 | 
					    switch (info.pi_status) {
 | 
				
			||||||
 | 
					      case PI_ACTIVE:
 | 
				
			||||||
 | 
					        procstate->state = 'R';
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case PI_ZOMBIE:
 | 
				
			||||||
 | 
					        procstate->state = 'Z';
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      default:
 | 
				
			||||||
 | 
					        procstate->state = 'S';
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return SIGAR_OK;
 | 
					    return SIGAR_OK;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user