Hi Rob, I'd expect write() to be atomic, if "small" enough, but not print() or fprintf()!
I once more cite APUE (Richard W. Steven's Advanced Programming in the UNIX Environment), chapter 10.6 Reentrant Functions: "Most implementations of the standard I/O library use global data structures in a nonreentrant way" right under figure 10.3: Reentrant functions that may be called from a signal handler. Methinks this precaution applies also to MT! Bye, Heribert ([EMAIL PROTECTED]) > -----Original Message----- > From: Robert Collins [SMTP:[EMAIL PROTECTED]] > Sent: Thursday, November 01, 2001 03:38 > To: [EMAIL PROTECTED] > Subject: RE: pthread: thread switching bug? > > > -----Original Message----- > > From: Christopher Faylor [mailto:[EMAIL PROTECTED]] > > >Thanks for the testing, you've shown that there is non > > thread safe code, > > >probably in the fhandler_consoler in cygwin, or possibly in the MS > > >Windows console code. Right now we don't know which. > > > > I'm still not sure why this is a cygwin bug. Is there some > > requirement > > that writes to the console be atomic? Your (Robert's) original email > > indicated that the Opengroup spec didn't have this as a requirement. > > It's non expected behaviour at the least. At worst it could be a symptom > of something more serious that is faulty. I intend to analyse it at some > point. > > The Opengroup spec for printf doesn't document any thead safety needs, > but, one would expect fprintf to a file to be atomic regardless of the > actual file... There are separate thread considerations elsewhere in > that tome, but I don't have time to dig them up right now. > > Rob > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Bug reporting: http://cygwin.com/bugs.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/