🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Gary L. Crum Tue, 05 Dec 1989 04:35
[english@alicudi.usc.edu: Re: (EC++ problem with signals under v1.36)]
#677
Author: Gary L. Crum
Date: Tue, 05 Dec 1989 04:35
44 lines
1937 bytes
This explains it.  Glauco's badNews() function isn't a valid signal
handler, and the new C++ signal.h include file allowed g++ to catch that.

I wish C++ include files had an extension other than .h.

Gary

Return-Path: <english@alicudi.usc.edu>
Date: Mon, 4 Dec 89 20:01:46 PST
From: english@alicudi.usc.edu (Joe English)
To: crum@alicudi.usc.edu, masotti@alicudi.usc.edu
Subject: Re: (EC++ problem with signals under v1.36)
Cc: agrawal@alicudi.usc.edu, requicha@alicudi.usc.edu


[Re: the problem with signal() in 1.35 vs. 1.36 ]

	The file /usr/include/signal.h is identical on both systems I use.

There is a 'signal.h' in /usr/public/lib/g++-include, 
though.  That defines:

	typedef void (*SignalHandler) (...);
	extern SignalHandler signal(int sig, SignalHandler action);

There is no 'signal.h' in the g++-include or gcc-include
directories in 1.35; just in 1.36.  I think that g++ and
gcc search these directories before they search /usr/include.

One note: you shouldn't use the function

	extern int badNews(int code=0, char* context="");

as a signal handler, since the operating system
passes different parameters to handler functions
(the signal code, a sigcontext structure, and two
other things that I can't remember.  It's at the end
of the man pages for sigvec(2), though).  SignalHandlers 
are probably declared as variadic in the GNU header file
because most handler functions choose to ignore the
parameters passed.


--Joe
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads