Subj : EPERM = pthread_create(), To : comp.programming.threads From : Krzysztof Witkowski Date : Mon Sep 26 2005 05:47 pm Hi, I'm writing quite complicated app, which uses both forks and threads. Briefly: Starting thread listens on the socket in the loop, and it creates new thread for each connection Then created serving thread checks whether certain process exists. If not, it forks and calls execve on setuided application to create it. After this serving thread and created process start to communicate through shared memory, and sometimes this new process has to create threads. It calls pthread_create, new thread is created, but return value is EPERM. From pthread_create man page: EPERM The caller does not have appropriate permission to set the required scheduling parameters or scheduling policy. But my app doesn't change any scheduling parameters, it only uses pthread_create, pthread_detach and pthread_join. Problem exists both on Linux and Solaris. I'm really out of ideas. Krzysztof Witkowski .