Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #24095

Re: signal() anomaly

From hip cat <nospam@nospam.com>
Newsgroups comp.lang.c
Subject Re: signal() anomaly
Date 2012-08-01 20:47 +0000
Organization Aioe.org NNTP Server
Message-ID <jvc4kl$aus$1@speranza.aioe.org> (permalink)
References <jv9e9e$bj3$1@speranza.aioe.org> <jv9l8p$1u2$1@blue-new.rahul.net> <jvbu80$pu5$1@speranza.aioe.org> <50198480.3040408@verizon.net>

Show all headers | View raw


On Wed, 01 Aug 2012 15:33:20 -0400, James Kuyper wrote:
> On 08/01/2012 02:58 PM, hip cat wrote:
>> On Tue, 31 Jul 2012 22:12:41 +0000, Edward A. Falk wrote:
>>> In article <jv9e9e$bj3$1@speranza.aioe.org>, hip cat
>>> <nospam@nospam.com> wrote:
>>>> What up
>>>>
>>>> I've used signal to set SIGSEGV to SIG_IGN. But when I later
>>>> dereference a null pointer my program still crashes out with segfault
>>>> SIGSEGV. What gives?
>>>
>>> I am amused and curious -- what did you *want* to happen on a null
>>> pointer dereference?
>> 
>> Word Ed,
>> 
>> My code has a certain pointer that sometimes unexpectedly becomes null.
> 
> Rather than trying to make this work, you should be trying to find out
> why the pointer is becoming null.
> 
>> It would be a lot of work to find every place the pointer gets
>> dereferenced and add a null check. So I want to just ignore it by
>> catching the signal.
> 
> Well, as "Nobody" has already pointed out, that's not an option. Using
> SIG_IGN for this has undefined behavior. So does registering your own
> SIGSEGV "handler" that doesn't bother to actually do anything, and
> simply returns. Therefore, you're going to have to either insert the
> null checks, or let the program abort() - your choice.

Word Jim,

I think Eric was right on the money asking about the return value. If the 
signal() call returns success, but the "ignore" is ignored, I say that's 
a bug in the C library. I think I'll file a bug report against glibc.

Communicate laterz ++

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

signal() anomaly hip cat <nospam@nospam.com> - 2012-07-31 20:13 +0000
  Re: signal() anomaly Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-31 16:35 -0400
    Re: signal() anomaly hip cat <nospam@nospam.com> - 2012-08-01 18:59 +0000
    Re: signal() anomaly Nick Bowler <nbowler@draconx.ca> - 2012-08-01 20:14 +0000
  Re: signal() anomaly falk@rahul.net (Edward A. Falk) - 2012-07-31 22:12 +0000
    Re: signal() anomaly hip cat <nospam@nospam.com> - 2012-08-01 18:58 +0000
      Re: signal() anomaly James Kuyper <jameskuyper@verizon.net> - 2012-08-01 15:33 -0400
        Re: signal() anomaly hip cat <nospam@nospam.com> - 2012-08-01 20:47 +0000
          Re: signal() anomaly Paul <nospam@needed.com> - 2012-08-01 17:34 -0400
            Re: signal() anomaly Johann Klammer <klammerj@NOSPAM.a1.net> - 2012-08-02 06:34 +0200
              Re: signal() anomaly Paul <nospam@needed.com> - 2012-08-02 07:10 -0400
          Re: signal() anomaly Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-01 18:07 -0400
            Re: signal() anomaly Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-02 00:15 +0100
              Re: signal() anomaly Nick Bowler <nbowler@draconx.ca> - 2012-08-02 00:05 +0000
                Re: signal() anomaly Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-02 02:47 +0100
          Re: signal() anomaly James Kuyper <jameskuyper@verizon.net> - 2012-08-01 18:13 -0400
          Re: signal() anomaly James Kuyper <jameskuyper@verizon.net> - 2012-08-01 18:14 -0400
          Re: signal() anomaly Nobody <nobody@nowhere.com> - 2012-08-02 12:52 +0100
      Re: signal() anomaly Angel <angel+news@spamcop.net> - 2012-08-01 19:41 +0000
      Re: signal() anomaly Kenneth Brody <kenbrody@spamcop.net> - 2012-08-01 16:16 -0400
      Re: signal() anomaly Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-01 16:33 -0400
      Re: signal() anomaly Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-02 00:22 +0100
      Re: signal() anomaly Stephen Sprunk <stephen@sprunk.org> - 2012-08-02 00:55 -0500
        Re: signal() anomaly Ike Naar <ike@sverige.freeshell.org> - 2012-08-02 07:01 +0000
      Re: signal() anomaly Öö Tiib <ootiib@hot.ee> - 2012-09-08 20:53 -0700
  Re: signal() anomaly Nobody <nobody@nowhere.com> - 2012-08-01 18:06 +0100
    Re: signal() anomaly Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 13:44 -0700
  Re: signal() anomaly Kleuske <kleuske@nowhere.net> - 2012-08-02 20:52 +0000

csiph-web