"William E. Kempf" wrote:
Pavol Droba said:
Hi,
I have problem with boost.threads on linux ( under gcc ). I have a multithreaded aplication using Boost.Thread. It works just fine.
However, I want to make a daemon out of it. So I tried to fork() at the start of the program and run all the relevant code ( including all threading ) in the child process. But when I do so, first call to create_thread hangs the process.
I'm quite new to linux threading, so it is possible, that the problem is not related to Boost.Threads.
Several comments:
1) I'm not a POSIX/Linux developer either.
2) Since fork is non-standard and not part of Boost.Threads, you're technically in undefined territory as far as Boost.Threads is concerned.
POSIX says "to avoid errors, the child process may only execute async- signal-safe operations until such time as one of the exec functions is called". As long as "create_thread" isn't async-signal-safe operation, he's in clear violating of POSIX "recomendation". Well, "long story": http://google.com/groups?selm=Ri_h9.10%24kX4.297082%40news.cpqcorp.net regards, alexander.