From owner-freebsd-questions Fri Jul 28 00:35:23 1995 Return-Path: questions-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id AAA29646 for questions-outgoing; Fri, 28 Jul 1995 00:35:23 -0700 Received: from pancake.remcomp.fr (pancake.remcomp.fr [194.51.30.1]) by freefall.cdrom.com (8.6.11/8.6.6) with SMTP id AAA29635 for ; Fri, 28 Jul 1995 00:34:40 -0700 Received: (from didier@localhost) by zapata.omnix.fr.org (8.6.9/8.6.9) id JAA12056 for freebsd-questions@freebsd.org; Fri, 28 Jul 1995 09:25:24 +0200 From: Didier Derny Message-Id: <199507280725.JAA12056@zapata.omnix.fr.org> Subject: Re: sleep / alarm conflict To: freebsd-questions@freebsd.org Date: Fri, 28 Jul 1995 09:25:23 +0200 (MET DST) X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 680 Sender: questions-owner@freebsd.org Precedence: bulk this sequence: #include #include #include #include #include #include #include static jmp_buf jumpenv; ReadLineAlarm() { signal(SIGALRM, SIG_IGN); alarm(0); fprintf(stderr, "alarm signal caught\n"); longjmp(jumpenv, 1); } main() { signal(SIGALRM, ReadLineAlarm); if (setjmp(jumpenv) != 0) return; alarm(2); for (;;) sleep(1); } never end. Is it normal or a bug. this sequence works if alarm is replaced by an infinite loop. +---------------------+ | Didier Derny | | didier@omnix.fr.org | +---------------------+