On Thursday 29 January 2009, Rainer Gerhards wrote: > The standard io library is not thread safe.
Are you sure about that? http://www.unix.org/whitepapers/reentrant.html: The POSIX.1 and C-language functions that operate on character streams (represented by pointers to objects of type FILE) are required by POSIX.1c to be implemented in such a way that reentrancy is achieved (see ISO/IEC 9945:1-1996, ยง8.2). This requirement has a drawback; it imposes substantial performance penalties because of the synchronization that must be built into the implementations of the functions for the sake of reentrancy. AIUI fprintf et al are thread safe. glibc implements its own locking inside the FILE*'s passed to such functions. Neither Drd nor Helgrind can "see" this locking and that gives them big problems; both tools simply attempt to hide (suppress) such races, not always successfully. J ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
