Opened 11 years ago
Last modified 11 years ago
#291 new enhancement
Add ucontext_t (SA_SIGINFO) to sigaction
Reported by: | dmik | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | libc-0.7 |
Component: | libc | Version: | 0.6.5 |
Severity: | normal | Keywords: | |
Cc: |
Description
I found that the sigaction
machinery lacks the bits of implementation related to the support of the ucontext_t
structure (passed in as a third parameter to the sigaction
callback when SA_SIGINFO
is requested in flags).
AFAIU, it should be a matter of simply converting the CONTEXTRECORD
data provide by the OS/2 exception handler to the format of ucontext_t
(and adding the definition of ucontext_t
, and, perhaps the getcontext()/setcontext()
API as well).
Here is the related place in the sources: source:/branches/libc-0.6/src/emx/src/lib/sys/signals.c?rev=3795#L1863
Here is the practical case where I faced this issue: https://github.com/bitwiseworks/mozilla-os2/issues/29#issuecomment-39145867.
Note that once this ticket is resolved, it will make sense to remove the hack (
DosSetExceptionHandler
abuse) applied here: https://github.com/bitwiseworks/mozilla-os2/commit/16f75f297be7df7ef9f50655102ddeb65b630140 (unless it's already solved in some other way by that time).