diff options
Diffstat (limited to 'sysutils/libgtop/patches/patch-am')
-rw-r--r-- | sysutils/libgtop/patches/patch-am | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/sysutils/libgtop/patches/patch-am b/sysutils/libgtop/patches/patch-am new file mode 100644 index 00000000000..1bc3876fd89 --- /dev/null +++ b/sysutils/libgtop/patches/patch-am @@ -0,0 +1,111 @@ +$NetBSD: patch-am,v 1.4 2007/09/20 21:12:11 wiz Exp $ + +--- sysdeps/freebsd/procsignal.c.orig 2005-12-12 10:09:39.000000000 +0000 ++++ sysdeps/freebsd/procsignal.c +@@ -53,7 +53,11 @@ glibtop_get_proc_signal_p (glibtop *serv + glibtop_proc_signal *buf, + pid_t pid) + { ++#if defined(KERN_PROC2) ++ struct kinfo_proc2 *pinfo; ++#else + struct kinfo_proc *pinfo; ++#endif + int count = 0; + + glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_SIGNAL), 0); +@@ -64,7 +68,12 @@ glibtop_get_proc_signal_p (glibtop *serv + if (pid == 0) return; + + /* Get the process information */ ++#if defined(KERN_PROC2) ++ pinfo = kvm_getproc2 (server->machine.kd, KERN_PROC_PID, pid, ++ sizeof(struct kinfo_proc2), &count); ++#else + pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); ++#endif + if ((pinfo == NULL) || (count != 1)) { + glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); + return; +@@ -77,6 +86,13 @@ glibtop_get_proc_signal_p (glibtop *serv + #define PROC_SIGIGNORE ki_sigignore + #define PROC_SIGCATCH ki_sigcatch + ++#elif defined(KERN_PROC2) ++ ++#define PROC_SIGLIST p_siglist ++#define PROC_SIGMASK p_sigmask ++#define PROC_SIGIGNORE p_sigignore ++#define PROC_SIGCATCH p_sigcatch ++ + #else + + #define PROC_SIGLIST kp_proc.p_siglist +@@ -89,11 +105,12 @@ glibtop_get_proc_signal_p (glibtop *serv + /* signal: mask of pending signals. + * pinfo [0].kp_proc.p_siglist + */ +-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) +- buf->signal [0] = pinfo [0].kp_proc.p_sigctx.ps_siglist.__bits[0]; +-#elif (defined(__NetBSD__) && (NSIG > 32)) || \ +- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) ++#if (defined(__NetBSD__) && (NSIG > 32)) || \ ++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \ ++ defined(__DragonFly__) + buf->signal [0] = pinfo [0].PROC_SIGLIST.__bits[0]; ++#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) ++ buf->signal [0] = pinfo [0].kp_proc.p_sigctx.ps_siglist.__bits[0]; + #else + buf->signal [0] = pinfo [0].kp_proc.p_siglist; + #endif +@@ -101,11 +118,12 @@ glibtop_get_proc_signal_p (glibtop *serv + /* blocked: mask of blocked signals. + * pinfo [0].kp_proc.p_sigmask + */ +-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) +- buf->blocked [0] = pinfo [0].kp_proc.p_sigctx.ps_sigmask.__bits[0]; +-#elif (defined(__NetBSD__) && (NSIG > 32)) || \ +- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) ++#if (defined(__NetBSD__) && (NSIG > 32)) || \ ++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \ ++ defined(__DragonFly__) + buf->blocked [0] = pinfo [0].PROC_SIGMASK.__bits[0]; ++#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) ++ buf->blocked [0] = pinfo [0].kp_proc.p_sigctx.ps_sigmask.__bits[0]; + #else + buf->blocked [0] = pinfo [0].kp_proc.p_sigmask; + #endif +@@ -113,11 +131,12 @@ glibtop_get_proc_signal_p (glibtop *serv + /* sigignore: mask of ignored signals. + * pinfo [0].kp_proc.p_sigignore + */ +-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) +- buf->sigignore [0] = pinfo [0].kp_proc.p_sigctx.ps_sigignore.__bits[0]; +-#elif (defined(__NetBSD__) && (NSIG > 32)) || \ +- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) ++#if (defined(__NetBSD__) && (NSIG > 32)) || \ ++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \ ++ defined(__DragonFly__) + buf->sigignore [0] = pinfo [0].PROC_SIGIGNORE.__bits[0]; ++#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) ++ buf->sigignore [0] = pinfo [0].kp_proc.p_sigctx.ps_sigignore.__bits[0]; + #else + buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore; + #endif +@@ -125,11 +144,12 @@ glibtop_get_proc_signal_p (glibtop *serv + /* sigcatch: mask of caught signals. + * pinfo [0].kp_proc.p_sigcatch + */ +-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) +- buf->sigcatch [0] = pinfo [0].kp_proc.p_sigctx.ps_sigcatch.__bits[0]; +-#elif (defined(__NetBSD__) && (NSIG > 32)) || \ +- (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) ++#if (defined(__NetBSD__) && (NSIG > 32)) || \ ++ (defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) || \ ++ defined(__DragonFly__) + buf->sigcatch [0] = pinfo [0].PROC_SIGCATCH.__bits[0]; ++#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) ++ buf->sigcatch [0] = pinfo [0].kp_proc.p_sigctx.ps_sigcatch.__bits[0]; + #else + buf->sigcatch [0] = pinfo [0].kp_proc.p_sigcatch; + #endif |