Greetings. I'm trying to port an application to FreeBSD. I have
a signal handler registered using signal(2). It modifies the
data pointed to by the third argument - of type sigcontext (specifically
sc_eip) - so that the execution would resume at a different point).

However, when execution resumes, it resumes at the same point where
it was interrupted. A quick search of the archives brought up this
thread:

http://groups.google.com/groups?hl=en&safe=off&th=6d5b8c3ead4a79ab,5&seekm=9fo8vq%241ma8%241%40FreeBSD.csie.NCTU.edu.tw#p

I tried:

_thread_sys_sigreturn(sc);

as suggested, but truss shows that sigreturn is failing. So my question
is: what is the correct way to modify the sigcontext in FreeBSD ? Are
there other multi threaded apps (using pthreads, linked to libc_r),
which do this ?

        -Arun

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to