RE: g++ and signal handlers that use sigcontext

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



foo.cc: In function `int main()':
foo.cc:56: invalid conversion from `void*' to `void (*)(int)'
>
>What is the proper way to set up a signal handler with a 2nd argument >(sigcontext )?

See `man sigaction'. You want to assign to sa_sigaction instead of
sa_handler as shown in listing 3 of the article you just referenced above.
But leave out the stupid old style cast and just make sure bt_sighandler
has the expected signature.

The man page for sigaction says:


Before the introduction of SA_SIGINFO it was also possible to get some
additional information, namely by using a sa_handler with second argu-
ment of type struct sigcontext. See the relevant kernel sources for
details. This use is obsolete now.


It doesn't say how to get the information that sigcontext used to provide. It's
very useful to know the line number that caused the crash rather than the line
number that called the function that caused the crash... this info used to be
provided by sigcontext. Is there another way to get that info now?


Thanks
David

_________________________________________________________________
Click, drag and drop. My MSN is the simple way to design your homepage. http://click.atdmt.com/AVE/go/onm00200364ave/direct/01/



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux