Module Name: src
Committed By: christos
Date: Tue Oct 6 22:12:09 UTC 2015
Modified Files:
src/external/cddl/osnet/lib/libdtrace: psinfo.d
Log Message:
almost fixed... Need to figure out what to do with curlwp.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/lib/libdtrace/psinfo.d
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/cddl/osnet/lib/libdtrace/psinfo.d
diff -u src/external/cddl/osnet/lib/libdtrace/psinfo.d:1.3 src/external/cddl/osnet/lib/libdtrace/psinfo.d:1.4
--- src/external/cddl/osnet/lib/libdtrace/psinfo.d:1.3 Mon Oct 5 13:49:40 2015
+++ src/external/cddl/osnet/lib/libdtrace/psinfo.d Tue Oct 6 18:12:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: psinfo.d,v 1.3 2015/10/05 17:49:40 christos Exp $ */
+/* $NetBSD: psinfo.d,v 1.4 2015/10/06 22:12:09 christos Exp $ */
/*
* CDDL HEADER START
@@ -53,15 +53,13 @@ translator psinfo_t < struct proc *T > {
pr_ppid = (T->p_pptr == 0) ? 0 : T->p_pptr->p_pid;
pr_pgid = (T->p_pgrp->pg_session->s_leader == 0) ? 0 : T->p_pgrp->pg_session->s_leader->p_pid;
pr_sid = (T->p_pgrp == 0) ? 0 : ((T->p_pgrp->pg_session == 0) ? 0 : T->p_pgrp->pg_session->s_sid);
-/* XXX: struct kauth_cred is not public
- pr_uid = T->p_cred->cr_ruid;
- pr_euid = T->p_cred->cr_uid;
- pr_gid = T->p_cred->cr_rgid;
- pr_egid = T->p_cred->cr_groups[0];
- */
+ pr_uid = T->p_cred->cr_uid;
+ pr_euid = T->p_cred->cr_euid;
+ pr_gid = T->p_cred->cr_gid;
+ pr_egid = T->p_cred->cr_egid;
pr_addr = 0;
- pr_psargs = stringof(T->p_args->ar_args);
- pr_arglen = T->p_args->ar_length;
+ pr_psargs = stringof(T->p_comm);
+ pr_arglen = strlen(T->p_comm);
};
typedef struct lwpsinfo {
@@ -78,22 +76,24 @@ typedef struct lwpsinfo {
} lwpsinfo_t;
#pragma D binding "1.0" translator
-translator lwpsinfo_t < struct thread *T > {
- pr_lwpid = T->td_tid;
- pr_pri = T->td_priority;
- pr_flag = T->td_flags;
- pr_state = 0; /* XXX */
- pr_sname = '?'; /* XXX */
+translator lwpsinfo_t < struct lwp *T > {
+ pr_lwpid = T->l_lid;
+ pr_pri = T->l_priority;
+ pr_flag = T->l_flag;
+ pr_state = T->l_stat;
+ pr_sname = '?'; /* XXX */
pr_syscall = 0; /* XXX */
pr_addr = (uintptr_t)T;
- pr_wchan = (uintptr_t)T->td_wchan;
+ pr_wchan = (uintptr_t)T->l_wchan;
};
-inline psinfo_t *curpsinfo = xlate <psinfo_t *> (curthread->td_proc);
+/* XXX: does not work with multprocessor, since it needs curcpu() */
+/*
+inline psinfo_t *curpsinfo = xlate <psinfo_t *> (curlwp->l_proc);
#pragma D attributes Stable/Stable/Common curpsinfo
#pragma D binding "1.0" curpsinfo
-inline lwpsinfo_t *curlwpsinfo = xlate <lwpsinfo_t *> (curthread);
+inline lwpsinfo_t *curlwpsinfo = xlate <lwpsinfo_t *> (curlwp);
#pragma D attributes Stable/Stable/Common curlwpsinfo
#pragma D binding "1.0" curlwpsinfo
-
+*/