Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - OS API that are not thread-safe: (1 Item)
   
OS API that are not thread-safe  
I am new to QNX and I see in the documentation that a number of OS API are NOT thread-safe. For example, a number of the
 socket library functions are documented as such. I assume this is largely because the underlying function(s) use static
 data. 

Most of the OS functions are available via a run-time library to which I link. If the sole reason for an API being NOT 
thread safe is the use of static data, then there should be no problem across processes because each process has it's 
own version of the run-time libraries.

So I have two questions:
1) Are all OS interface libraries (not just the c- or C++ run-time libraries) process-specific? That is, every process 
has it's own copy of the interface libraries and those libraries do NOT share data across processes.

2) Is there another reason besides the use of static data that would make an OS API NOT thread-safe?

Thanks...