Hi Zeng Linggang, On 05/27/2015 05:42 PM, Samuel Bronson wrote: > On Wed, May 27, 2015 at 6:12 AM, Zeng Linggang <zenglg.jy@xxxxxxxxxxxxxx> wrote: >> After research, We think fexecve() is thread-safe. But, there >> is not marking of fexecve() in glibc document. > > Um, fexecve() is just like execve(), only on a file descriptor. (In > fact, it appears to be implemented using execve() on > /proc/self/fd/$FD.) > > As such, the following point from execve(2) applies: > > * All threads other than the calling thread are destroyed during an > execve(). Mutexes, condition variables, and other pthreads objects > are not preserved. > > This does not seem to correspond with the usual notion of "thread > safe", though I guess it would be technically safe to, say, have > several threads racing to run fexecve(). Further text is probably > warranted here. Did you have any thoughts on Samuel's point? Cheers, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html