Subject: Re: pthread_create -- no callback?
From: "Robert Collins" <[email-masked]>
To: "Lassi A. Tuura" <[email-masked]>, "Evan Pollan" <[email-masked]>
Cc: <[email-masked]>
Date: Thu, 15 Nov 2001 07:15:08 +1100

----- Original Message -----
From: "Lassi A. Tuura" <[email-masked]>
To: "Evan Pollan" <[email-masked]>
Cc: <[email-masked]>
Sent: Thursday, November 15, 2001 2:28 AM
Subject: Re: pthread_create -- no callback?

> > The sample I included did check the return value of pthread_join.
>
> Nope, you are still not printing pthread_join *return* value -- print
> the int returned by pthread_join as you did with pthread_create.  On
> linux it returns ESRCH = no such thread.  Your problem is with the
> thread argument to pthread_join as shown below.
>
> Since you are not joining with the thread, the output might disappear.
> My guess is that the main thread finishes execution and the stdout
gets
> closed before the second thread executes, and hence you see no output
> from the other thread.  That doesn't happen on linux as you can see
> below, but maybe it is reasonable behaviour on windows.  If you think
it
> is a bug, I am sure cygwin authors would appreciate a patch ;-)

This is indeed the behaviour. The reason is that main() is returning as
opposed to calling pthread_exit (rv);. This is a grey area AFAIK in the
SUSv2 specification.

Patchs accepted as always, probably for gcc in this case.

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/