sa_sigaction signal handler: third parameter?

Orjan Friberg (orjan.friberg@axis.com)
Wed, 05 Sep 2001 11:58:29 +0200


I'm trying to make life easier for a user-defined SIGSEGV handler, the
sa_sigaction one with 3 parameters. The second parameter, the siginfo_t
* one, is there. Problem is, I would like to pass on additional
information to the signal handler, more specifically information about
whether there was a protection fault, read/write etc. I've looked at
some of the other ports (I'm working on the CRIS port BTW), and for
example the i386 has fields in the task and sigcontext structs to keep
this sort of information.

Question is how to pass this information on to the signal handler.
Looking at the code, it seems the third parameter (void *) is being used
to send a ucontext_t * in (at least) the arm and mips cases. I followed
a lot of threads in the archive, but couldn't find one that adressed
what this third parameter is actually meant to be used for. Obviously,
sending a ucontext would solve my problem, since it contains the
sigcontext struct. Is there a Right Way to do it?

(I'm not subscribed to the list, so please keep me on the CC list.)

-- 
Orjan Friberg              E-mail: orjan.friberg@axis.com
Axis Communications AB     Phone:  +46 46 272 17 68
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/