Hello Dave,
This is a very small patch for command sig.
I think it fixes the pointer problem.
--- crash-4.0-3.2/task.c 2006-08-23 17:09:48.000000000 +0200
+++ crash-4.0-3.2-patch/task.c 2006-08-25 00:03:48.000000000 +0200
@@ -5751,7 +5751,7 @@
int translate, sig, sigpending;
uint ti_flags;
ulonglong sigset, blocked, mask;
- ulong signal_struct, kaddr, handler, flags, sigqueue, next;
+ ulong signal_struct, kaddr, handler, flags, sigqueue, sigqueue_save, next;
ulong sighand_struct;
long size;
char *signal_buf, *uaddr;
@@ -5932,7 +5932,7 @@
mkstring(buf1, VADDR_PRLEN, CENTER|LJUST, "SIGINFO"));
else
fprintf(fp, "SIGQUEUE: (empty)\n");
-
+ sigqueue_save = sigqueue;
while (sigqueue) {
readmem(sigqueue, KVADDR, signal_buf,
SIZE_OPTION(signal_queue, sigqueue), @@ -5949,7 +5949,8 @@
sig = INT(signal_buf + OFFSET(sigqueue_info) +
OFFSET(siginfo_si_signo));
}
-
+ if (sigqueue_save == next)
+ break;
fprintf(fp, " %3d %lx\n",
sig, sigqueue +
OFFSET_OPTION(signal_queue_info, sigqueue_info));
----------------------------------------------------------------
Ce message a ete envoye par IMP, grace a l'Universite Paris 10 Nanterre