Date: Tue, 2 Jul 2002 18:35:01 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Christian Weisgerber <naddy@FreeBSD.ORG> Cc: freebsd-current@FreeBSD.ORG Subject: Re: LP64: (int)signal() Message-ID: <20020702182320.X11383-100000@gamplex.bde.org> In-Reply-To: <afpfe2$6f5$1@kemoauc.mips.inka.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 1 Jul 2002, Christian Weisgerber wrote: > I would like to clean up the last instances of (int)signal(...) in > the tree. Any objection to the changes below? No, but ... > Other occurrences not worth touching: > - contrib/opie/opieftpd.c: contrib, not used > - libexec/bootpd/bootpd.c: #ifdef'ed out in favor of sigaction(). ... either the sigaction() or the signal() in bootpd.c is probably wrong, since the sigaction() is missing SA_RESTART. The signal() case has been ifdefed out for a long time, so this apparently doesn't matter much. This has very little to do with LP64 ... Mike Barcroft <mike@FreeBSD.org> wrote: > You might want to get rid of the other misuse of `rc' above this and > just remove the variable. The use of an gratuitous int variable rc to capture return values is rampant throughout this code. In fact, not using it is something of a violation of the local style, but in the case of signal() I think it's justifiable because SIG_ERR is so much neater than changing rc to long and messing around with explicit casts. Casting signal() to long just gives undefined behaviour on different machines. It would be less incorrect to cast a magic integer to a function pointer like the implementation must do to create SIG_ERR (at least if the implementation starts with a magic integer), but it is so much neater to just use SIG_ERR. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020702182320.X11383-100000>