Changes from 5.2.1 to 5.3 (theads / signal handling)

Julian Elischer julian at elischer.org
Wed Jan 25 10:46:32 PST 2006


Jose Marcio Martins da Cruz wrote:

>Hello,
>
>I have a problem with an application I wrote.
>
>It works fine under Solaris, Linux, and FreeBSD till release 5.2.1.
>
>Under FreeBSD 5.3 and newers I have problems.
>
>The application is constituted by two processes : a supervisor and modules. The
>supervisor forks and become a module when it shall launch one.
>
>The supervisor is a single loop and it has a thread to handle signals. Each
>module is a multithreaded server, with its own thread to handle signals.
>
>Under FreeBSD 5.3 and newers, when the supervisor forks to become a module, it
>receives a SIGABRT and exits immediately when it launches the signal handler thread.
>
>I solved this by replacing the signal handling of the father : using a handler
>defined with sigaction instead of using a thread. But I'd like to understanding
>what's wrong with this and what changed from FreeBSD 5.2.1 to 5.3
>  
>

a new threading library.

have you tried 6.0?
also, does the child do an exec() after forking?

>Thanks
>
>Jose-Marcio
>_______________________________________________
>freebsd-hackers at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>  
>


More information about the freebsd-hackers mailing list