Bugs item #833071, was opened at 2003-10-30 14:05
Message generated for change (Comment added) made by cbiere
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=428680&aid=833071&group_id=40696
Category: Behaviour
Group: 0.65.x
Status: Closed
Resolution: Out of Date
Priority: 5
Submitted By: Christian Biere (cbiere)
Assigned to: Nobody/Anonymous (nobody)
Summary: Invalid signal handling
Initial Comment:
Please fix src/BaseDisplay.cc:
BaseDisplay::BaseDisplay():
- Don't connect any signal handlers to SIGFPE or
SIGSEGV - unless
you have very good reasons to to so.
signalhandler():
- You MUST NOT use fprintf() in any signalhandler!
- You MUST NOT use exit() in any signalhandler either,
use _exit().
- base_display->handleSignal() is a pure virtual
method but the instance
base_display hasn't been completely initialised yet
in all cases because
the signalhandler is connected from the constructor
of the object.
- You might want to apply the signalhandler to SIGQUIT
as well.
----------------------------------------------------------------------
>Comment By: Christian Biere (cbiere)
Date: 2004-09-06 07:08
Message:
Logged In: YES
user_id=643728
Ok, as usual the SF's public CVS was way behind the
developer's CVS so I couldn't see those changes. Still, this
is not absolutely clean. sig_atomic_t is not necessarily
a 32-bit integer (could be a single byte) and many platforms
have even more than 32 signals (e.g., Solaris 8 has 34
signal types but SIG_ATOMIC_MAX is (1<<32) - 1. Well, I
*guess* the signal numbers are actually portable and below
32 but there's no such guarantee or standard. It would be
better to use one variable per signal you want to catch.
http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html
----------------------------------------------------------------------
Comment By: Bradley T. Hughes (bradleyhughes)
Date: 2004-09-06 06:42
Message:
Logged In: YES
user_id=459209
wrong, the signal handler in CVS (lib/Application.cc) does
not do anything but set a single bit in a sig_atomic_t. :)
----------------------------------------------------------------------
Comment By: Christian Biere (cbiere)
Date: 2004-09-03 13:57
Message:
Logged In: YES
user_id=643728
This one still stands:
signalhandler():
- You MUST NOT use fprintf() in any signalhandler!
You can use write(STDERR_FILENO, ...) instead.
----------------------------------------------------------------------
Comment By: Bradley T. Hughes (bradleyhughes)
Date: 2004-09-03 13:14
Message:
Logged In: YES
user_id=459209
the code in question has been rewritten propertly in CVS
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=428680&aid=833071&group_id=40696
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
List archives: http://asgardsrealm.net/lurker/splash/index.html
Trouble? Contact [EMAIL PROTECTED]