Changed type for signal',
blocked', sigignore' and
sigcatch' to
1998-07-23 Martin Baulig <martin@home-of-linux.org> * include/glibtop/procsignal.h (glibtop_proc_signal): Changed type for `signal', `blocked', `sigignore' and `sigcatch' to `unsigned long long'.
This commit is contained in:
committed by
Martin Baulig
parent
954a78f200
commit
61c262dd7e
@@ -1,3 +1,9 @@
|
|||||||
|
1998-07-23 Martin Baulig <martin@home-of-linux.org>
|
||||||
|
|
||||||
|
* include/glibtop/procsignal.h (glibtop_proc_signal):
|
||||||
|
Changed type for `signal', `blocked', `sigignore' and
|
||||||
|
`sigcatch' to `unsigned long long'.
|
||||||
|
|
||||||
1998-07-22 Martin Baulig <martin@home-of-linux.org>
|
1998-07-22 Martin Baulig <martin@home-of-linux.org>
|
||||||
|
|
||||||
* include/glibtop/fsusage.h: New file.
|
* include/glibtop/fsusage.h: New file.
|
||||||
|
@@ -211,7 +211,7 @@ main (int argc, char *argv [])
|
|||||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||||
|
|
||||||
printf ("Proc_Signal PID %5u (0x%08lx): "
|
printf ("Proc_Signal PID %5u (0x%08lx): "
|
||||||
"%lu %lu %lu %lu\n", pid, data.proc_signal.flags,
|
"%Lu %Lu %Lu %Lu\n", pid, data.proc_signal.flags,
|
||||||
data.proc_signal.signal, data.proc_signal.blocked,
|
data.proc_signal.signal, data.proc_signal.blocked,
|
||||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||||
|
|
||||||
@@ -282,7 +282,7 @@ main (int argc, char *argv [])
|
|||||||
glibtop_get_proc_signal (&data.proc_signal, ppid);
|
glibtop_get_proc_signal (&data.proc_signal, ppid);
|
||||||
|
|
||||||
printf ("Proc_Signal PPID %5u (0x%08lx): "
|
printf ("Proc_Signal PPID %5u (0x%08lx): "
|
||||||
"%lu %lu %lu %u\n", ppid, data.proc_signal.flags,
|
"%Lu %Lu %Lu %Lu\n", ppid, data.proc_signal.flags,
|
||||||
data.proc_signal.signal, data.proc_signal.blocked,
|
data.proc_signal.signal, data.proc_signal.blocked,
|
||||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||||
|
|
||||||
@@ -353,7 +353,7 @@ main (int argc, char *argv [])
|
|||||||
glibtop_get_proc_signal (&data.proc_signal, 1);
|
glibtop_get_proc_signal (&data.proc_signal, 1);
|
||||||
|
|
||||||
printf ("Proc_Signal INIT %5u (0x%08lx): "
|
printf ("Proc_Signal INIT %5u (0x%08lx): "
|
||||||
"%lu %lu %lu %lu\n", 1, data.proc_signal.flags,
|
"%Lu %Lu %Lu %Lu\n", 1, data.proc_signal.flags,
|
||||||
data.proc_signal.signal, data.proc_signal.blocked,
|
data.proc_signal.signal, data.proc_signal.blocked,
|
||||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||||
|
|
||||||
|
@@ -110,7 +110,7 @@ main (int argc, char *argv [])
|
|||||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||||
|
|
||||||
fprintf (stderr, "Proc_Signal PID %5u (0x%08lx): "
|
fprintf (stderr, "Proc_Signal PID %5u (0x%08lx): "
|
||||||
"%lu %lu %lu %lu\n", pid, data.proc_signal.flags,
|
"%Lu %Lu %Lu %Lu\n", pid, data.proc_signal.flags,
|
||||||
data.proc_signal.signal, data.proc_signal.blocked,
|
data.proc_signal.signal, data.proc_signal.blocked,
|
||||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||||
|
|
||||||
|
@@ -41,10 +41,10 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
|||||||
struct _glibtop_proc_signal
|
struct _glibtop_proc_signal
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned long signal, /* mask of pending signals */
|
unsigned long long signal, /* mask of pending signals */
|
||||||
blocked, /* mask of blocked signals */
|
blocked, /* mask of blocked signals */
|
||||||
sigignore, /* mask of ignored signals */
|
sigignore, /* mask of ignored signals */
|
||||||
sigcatch; /* mask of caught signals */
|
sigcatch; /* mask of caught signals */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
|
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
|
||||||
|
@@ -41,7 +41,8 @@ EXPORT_NO_SYMBOLS;
|
|||||||
int
|
int
|
||||||
init_module(void)
|
init_module(void)
|
||||||
{
|
{
|
||||||
printk ("init_module () = %p\n", table_fkt);
|
printk ("init_module () = %p - %d, %d\n",
|
||||||
|
table_fkt, sizeof (union table), sizeof (sigset_t));
|
||||||
table_function_ptr = table_fkt;
|
table_function_ptr = table_fkt;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -68,9 +69,18 @@ static void collect_sigign_sigcatch(struct task_struct *p, sigset_t *ign,
|
|||||||
sigemptyset(ign);
|
sigemptyset(ign);
|
||||||
sigemptyset(catch);
|
sigemptyset(catch);
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
printk ("collect_sigign_sigcatch: %p - %p\n",
|
||||||
|
p, p->sig);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (p->sig) {
|
if (p->sig) {
|
||||||
k = p->sig->action;
|
k = p->sig->action;
|
||||||
for (i = 1; i <= _NSIG; ++i, ++k) {
|
for (i = 1; i <= _NSIG; ++i, ++k) {
|
||||||
|
#if 0
|
||||||
|
printk ("signal: %d - %p (%p, %p)\n",
|
||||||
|
i, k->sa.sa_handler, SIG_IGN, SIG_DFL);
|
||||||
|
#endif
|
||||||
if (k->sa.sa_handler == SIG_IGN)
|
if (k->sa.sa_handler == SIG_IGN)
|
||||||
sigaddset(ign, i);
|
sigaddset(ign, i);
|
||||||
else if (k->sa.sa_handler != SIG_DFL)
|
else if (k->sa.sa_handler != SIG_DFL)
|
||||||
@@ -294,6 +304,7 @@ table_fkt (int type, union table *buf, const void *param)
|
|||||||
union table tbl;
|
union table tbl;
|
||||||
struct sysinfo i;
|
struct sysinfo i;
|
||||||
struct task_struct *tsk = NULL;
|
struct task_struct *tsk = NULL;
|
||||||
|
sigset_t sigign, sigcatch;
|
||||||
int index, err;
|
int index, err;
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
@@ -411,11 +422,27 @@ table_fkt (int type, union table *buf, const void *param)
|
|||||||
tbl.proc_uid.def_priority = DEF_PRIORITY;
|
tbl.proc_uid.def_priority = DEF_PRIORITY;
|
||||||
break;
|
break;
|
||||||
case TABLE_PROC_SIGNAL:
|
case TABLE_PROC_SIGNAL:
|
||||||
tbl.proc_signal.signal = tsk->signal;
|
memcpy (&tbl.proc_signal.signal, &tsk->signal,
|
||||||
tbl.proc_signal.blocked = tsk->blocked;
|
sizeof (tbl.proc_signal.signal));
|
||||||
|
|
||||||
collect_sigign_sigcatch (tsk, &tbl.proc_signal.ignored,
|
memcpy (&tbl.proc_signal.blocked, &tsk->blocked,
|
||||||
&tbl.proc_signal.caught);
|
sizeof (tbl.proc_signal.blocked));
|
||||||
|
|
||||||
|
collect_sigign_sigcatch (tsk, &sigign, &sigcatch);
|
||||||
|
|
||||||
|
memcpy (&tbl.proc_signal.ignored, &sigign,
|
||||||
|
sizeof (tbl.proc_signal.ignored));
|
||||||
|
|
||||||
|
memcpy (&tbl.proc_signal.caught, &sigcatch,
|
||||||
|
sizeof (tbl.proc_signal.caught));
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
printk ("PROC_SIGNAL: (%lu, %lu) - (%lu, %lu)\n",
|
||||||
|
tbl.proc_signal.ignored.sig [0],
|
||||||
|
tbl.proc_signal.ignored.sig [1],
|
||||||
|
tbl.proc_signal.caught.sig [0],
|
||||||
|
tbl.proc_signal.caught.sig [1]);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case TABLE_PROC_MEM:
|
case TABLE_PROC_MEM:
|
||||||
if (tsk->mm && tsk->mm != &init_mm) {
|
if (tsk->mm && tsk->mm != &init_mm) {
|
||||||
|
@@ -129,10 +129,10 @@ struct table_proc_time
|
|||||||
|
|
||||||
struct table_proc_signal
|
struct table_proc_signal
|
||||||
{
|
{
|
||||||
sigset_t signal;
|
unsigned long long signal,
|
||||||
sigset_t blocked; /* bitmap of masked signals */
|
blocked, /* bitmap of masked signals */
|
||||||
sigset_t ignored; /* mask of ignored signals */
|
ignored, /* mask of ignored signals */
|
||||||
sigset_t caught; /* mask of caught signals */
|
caught; /* mask of caught signals */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct table_proc_kernel
|
struct table_proc_kernel
|
||||||
|
@@ -52,8 +52,8 @@ glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf,
|
|||||||
|
|
||||||
buf->flags = _glibtop_sysdeps_proc_signal;
|
buf->flags = _glibtop_sysdeps_proc_signal;
|
||||||
|
|
||||||
buf->signal = tbl.proc_signal.signal.__val [0];
|
buf->signal = tbl.proc_signal.signal;
|
||||||
buf->blocked = tbl.proc_signal.blocked.__val [0];
|
buf->blocked = tbl.proc_signal.blocked;
|
||||||
buf->sigignore = tbl.proc_signal.ignored.__val [0];
|
buf->sigignore = tbl.proc_signal.ignored;
|
||||||
buf->sigcatch = tbl.proc_signal.caught.__val [0];
|
buf->sigcatch = tbl.proc_signal.caught;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user