[SIGAR-97] implement proc_exe
This commit is contained in:
		
							parent
							
								
									e3f6a1bbd7
								
							
						
					
					
						commit
						57bc553dbf
					
				@ -442,7 +442,39 @@ int sigar_proc_fd_get(sigar_t *sigar, sigar_pid_t pid,
 | 
			
		||||
int sigar_proc_exe_get(sigar_t *sigar, sigar_pid_t pid,
 | 
			
		||||
                       sigar_proc_exe_t *procexe)
 | 
			
		||||
{
 | 
			
		||||
    return SIGAR_ENOTIMPL;
 | 
			
		||||
#ifdef __pst_fid /* 11.11+ */
 | 
			
		||||
    int rc;
 | 
			
		||||
    struct pst_status status;
 | 
			
		||||
 | 
			
		||||
    if (pstat_getproc(&status, sizeof(status), 0, pid) == -1) {
 | 
			
		||||
        return errno;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rc = pstat_getpathname(procexe->cwd,
 | 
			
		||||
                           sizeof(procexe->cwd),
 | 
			
		||||
                           &status.pst_fid_cdir);
 | 
			
		||||
    if (rc == -1) {
 | 
			
		||||
        return errno;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rc = pstat_getpathname(procexe->name,
 | 
			
		||||
                           sizeof(procexe->name),
 | 
			
		||||
                           &status.pst_fid_text);
 | 
			
		||||
    if (rc == -1) {
 | 
			
		||||
        return errno;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rc = pstat_getpathname(procexe->root,
 | 
			
		||||
                           sizeof(procexe->root),
 | 
			
		||||
                           &status.pst_fid_rdir);
 | 
			
		||||
    if (rc == -1) {
 | 
			
		||||
        return errno;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return SIGAR_OK;
 | 
			
		||||
#else
 | 
			
		||||
    return SIGAR_ENOTIMPL; /* 11.00 */
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int sigar_proc_modules_get(sigar_t *sigar, sigar_pid_t pid,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user