From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14389 invoked from network); 11 Jun 2001 00:19:32 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 11 Jun 2001 00:19:32 -0000 Received: (qmail 7059 invoked by alias); 11 Jun 2001 00:19:07 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 14836 Received: (qmail 7046 invoked from network); 11 Jun 2001 00:19:07 -0000 Date: Sun, 10 Jun 2001 20:19:20 -0400 From: Clint Adams To: zsh-workers@sunsite.dk Cc: 100336-forwarded@bugs.debian.org, debian-hppa@lists.debian.org, joy@debian.org Subject: Re: hppa problems Message-ID: <20010610201920.A18831@dman.com> References: <20010610070719.A4521@dman.com> <20010610081031.C4640@dman.com> <1010610163423.ZM21625@candle.brasslantern.com> <20010610191043.A17968@dman.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010610191043.A17968@dman.com>; from clint@zsh.org on Sun, Jun 10, 2001 at 07:10:43PM -0400 > I'll investigate the sigsuspend test shortly. --sigsus.c-- #include #include int child=0; void handler(sig) int sig; {if(sig==SIGCHLD) child=1;} main() { struct sigaction act; sigset_t set; int pid, ret; act.sa_handler = &handler; sigfillset(&act.sa_mask); act.sa_flags = 0; sigaction(SIGCHLD, &act, 0); sigfillset(&set); sigprocmask(SIG_SETMASK, &set, 0); pid=fork(); if(pid==0) return 0; if(pid>0) { sigemptyset(&set); ret=sigsuspend(&set); exit(child==0); } } --end sigsus.c-- --strace -ff output-- execve("./sigsuspendtest", ["./sigsuspendtest"], [/* 16 vars */]) = 0 newuname({sys="Linux", node="paer", ...}) = 0 brk(0) = 0x21000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001a000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 idle() = 0 mmap(NULL, 14827, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001b000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\2\1\3\0\0\0\0\0\0\0\0\0\3\0\17\0\0\0\1\0\2\210"..., 1024) = 1024 idle() = 0 mmap(NULL, 1351200, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002b000 mprotect(0x40158000, 118304, PROT_NONE) = 0 mmap(0x40167000, 45056, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x12c000) = 0x40167000 mmap(0x40172000, 11808, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40172000 close(3) = 0 munmap(0x4001b000, 14827) = 0 getpid() = 17711 rt_sigaction(SIGCHLD, {0x20952, ~[], 0}, NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, ~[], NULL, 8) = 0 fork() = 17712 rt_sigsuspend([]--- SIGCHLD (Child exited) --- --- SIGSEGV (Segmentation fault) --- +++ killed by SIGSEGV +++ --end strace -ff output-- --strace -ff child output-- exit(0) = ? --end strace -ff child output--