From owner-cvs-lib Fri Aug 16 04:49:00 1996 Return-Path: owner-cvs-lib Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id EAA26996 for cvs-lib-outgoing; Fri, 16 Aug 1996 04:49:00 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id EAA26873; Fri, 16 Aug 1996 04:45:17 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id VAA19635; Fri, 16 Aug 1996 21:37:04 +1000 Date: Fri, 16 Aug 1996 21:37:04 +1000 From: Bruce Evans Message-Id: <199608161137.VAA19635@godzilla.zeta.org.au> To: j@uriah.heep.sax.de, jkh@time.cdrom.com Subject: Re: cvs commit: src/lib/libncurses lib_newterm.c Cc: CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-lib@freefall.freebsd.org, jkh@freefall.freebsd.org, joerg_wunsch@uriah.heep.sax.de Sender: owner-cvs-lib@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >> > Why is this? sigaction() is Posix, signal() ain't. >> >> sigaction had unwonted side-effects. Actually, signal() has wanted side effects. >I don't trust you. ;-) signal()'s implementation is mainly based on ^^^^^^ completely >sigaction(). So if the latter has unwanted side-effects for you that >signal doesn't have, it's probably a programmer's error. The only difference (under BSD) is that signal() sets SA_RESTART for most signals. The set of such signals may be changed using siginterrupt(). Under SysVish systems, signal() also sets SA_RESETHAND and SA_NODEFER to give traditional unreliable signals. signal() should only be used if you want traditional system-dependent behaviour, i.e., almost never. Bruce