On a UNIX system that does not have kernel support for threads, making system and library calls from within a multithreaded program raises the following issues:
· System calls may not be thread-reentrant.
· If a system call blocks, it blocks the entire process instead of blocking the calling thread only.
More:
Calling fork( ) in a Multithreaded Environment