
Pavol Droba <droba@topmail.sk> writes: | 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 use something like this: int main(int argc, char * argv[]) { pid_t pid = -1; pid = fork(); if (pid > 0) { // Parent } else { if (pid == 0) { setsid(); close(0); close(1); close(2); chdir("/"); umask(0); } signal(SIGPIPE, SIG_IGN); return child_main(); } return EXIT_SUCCESS; } (the code has been changed a bit, error handling removed etc.) and in child_main threads are created. It might be that you are just missing the setsid call? -- Lgb