Opened 12 years ago
Last modified 12 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 (
DosSetExceptionHandlerabuse) applied here: https://github.com/bitwiseworks/mozilla-os2/commit/16f75f297be7df7ef9f50655102ddeb65b630140 (unless it's already solved in some other way by that time).