This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: pthread: thread switching bug?


On Thu, Nov 01, 2001 at 01:38:03PM +1100, Robert Collins wrote:
>> -----Original Message-----
>> From: Christopher Faylor [mailto:cgf@redhat.com]
>> >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.

I wouldn't be surprised to find that the "thread safety" of file writes
is actually due to the fact that file writes are *much* faster than
writes to the console.  Since cygwin processes every character that goes
to the console it isn't surprising to me that threads will interleave
their output.  There is certainly no console locking going on.

It's possible that CYGWIN=tty would also have a different behavior.

cgf

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]