NetBSD proc fixes
This commit is contained in:
parent
d9e510494b
commit
e48a2b0ee0
@ -852,7 +852,7 @@ int sigar_os_proc_list_get(sigar_t *sigar,
|
|||||||
|
|
||||||
static int sigar_get_pinfo(sigar_t *sigar, sigar_pid_t pid)
|
static int sigar_get_pinfo(sigar_t *sigar, sigar_pid_t pid)
|
||||||
{
|
{
|
||||||
#ifdef __OpenBSD__
|
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
int mib[] = { CTL_KERN, KERN_PROC2, KERN_PROC_PID, 0, sizeof(*sigar->pinfo), 1 };
|
int mib[] = { CTL_KERN, KERN_PROC2, KERN_PROC_PID, 0, sizeof(*sigar->pinfo), 1 };
|
||||||
#else
|
#else
|
||||||
int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, 0 };
|
int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, 0 };
|
||||||
@ -991,7 +991,7 @@ int sigar_proc_cred_get(sigar_t *sigar, sigar_pid_t pid,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __OpenBSD__
|
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
proccred->uid = pinfo->p_ruid;
|
proccred->uid = pinfo->p_ruid;
|
||||||
proccred->gid = pinfo->p_rgid;
|
proccred->gid = pinfo->p_rgid;
|
||||||
proccred->euid = pinfo->p_uid;
|
proccred->euid = pinfo->p_uid;
|
||||||
@ -1116,14 +1116,12 @@ int sigar_proc_time_get(sigar_t *sigar, sigar_pid_t pid,
|
|||||||
proctime->sys = tv2msec(user.u_stats.p_ru.ru_stime);
|
proctime->sys = tv2msec(user.u_stats.p_ru.ru_stime);
|
||||||
proctime->total = proctime->user + proctime->sys;
|
proctime->total = proctime->user + proctime->sys;
|
||||||
proctime->start_time = tv2msec(user.u_stats.p_start);
|
proctime->start_time = tv2msec(user.u_stats.p_start);
|
||||||
#elif defined(__OpenBSD__)
|
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
/* XXX *_usec */
|
/* XXX *_usec */
|
||||||
proctime->user = pinfo->p_uutime_sec * SIGAR_MSEC;
|
proctime->user = pinfo->p_uutime_sec * SIGAR_MSEC;
|
||||||
proctime->sys = pinfo->p_ustime_sec * SIGAR_MSEC;
|
proctime->sys = pinfo->p_ustime_sec * SIGAR_MSEC;
|
||||||
proctime->total = proctime->user + proctime->sys;
|
proctime->total = proctime->user + proctime->sys;
|
||||||
proctime->start_time = pinfo->p_ustart_sec * SIGAR_MSEC;
|
proctime->start_time = pinfo->p_ustart_sec * SIGAR_MSEC;
|
||||||
#elif defined(__NetBSD__)
|
|
||||||
/*XXX*/
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return SIGAR_OK;
|
return SIGAR_OK;
|
||||||
@ -1206,12 +1204,9 @@ static int sigar_proc_threads_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)
|
||||||
{
|
{
|
||||||
#if defined(__NetBSD__)
|
|
||||||
return SIGAR_ENOTIMPL;
|
|
||||||
#else
|
|
||||||
int status = sigar_get_pinfo(sigar, pid);
|
int status = sigar_get_pinfo(sigar, pid);
|
||||||
bsd_pinfo_t *pinfo = sigar->pinfo;
|
bsd_pinfo_t *pinfo = sigar->pinfo;
|
||||||
#if defined(__OpenBSD__)
|
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
int state = pinfo->p_stat;
|
int state = pinfo->p_stat;
|
||||||
#else
|
#else
|
||||||
int state = pinfo->KI_STAT;
|
int state = pinfo->KI_STAT;
|
||||||
@ -1221,7 +1216,7 @@ int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__OpenBSD__)
|
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
SIGAR_SSTRCPY(procstate->name, pinfo->p_comm);
|
SIGAR_SSTRCPY(procstate->name, pinfo->p_comm);
|
||||||
procstate->ppid = pinfo->p_ppid;
|
procstate->ppid = pinfo->p_ppid;
|
||||||
procstate->priority = pinfo->p_priority;
|
procstate->priority = pinfo->p_priority;
|
||||||
@ -1271,7 +1266,6 @@ int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
|
|||||||
}
|
}
|
||||||
|
|
||||||
return SIGAR_OK;
|
return SIGAR_OK;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(DARWIN)
|
#if defined(DARWIN)
|
||||||
|
@ -47,7 +47,7 @@ enum {
|
|||||||
KOFFSET_MAX
|
KOFFSET_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __OpenBSD__
|
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
typedef struct kinfo_proc2 bsd_pinfo_t;
|
typedef struct kinfo_proc2 bsd_pinfo_t;
|
||||||
#else
|
#else
|
||||||
typedef struct kinfo_proc bsd_pinfo_t;
|
typedef struct kinfo_proc bsd_pinfo_t;
|
||||||
|
Loading…
Reference in New Issue
Block a user