Thread View: gnu.g++.bug
1 messages
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)]
Author: Gary L. Crum
Date: Tue, 05 Dec 1989 04:35
Date: Tue, 05 Dec 1989 04:35
44 lines
1937 bytes
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