Trying to join an already exited pthread
youshi10 at u.washington.edu
youshi10 at u.washington.edu
Fri Feb 9 17:40:40 UTC 2007
On Fri, 9 Feb 2007, Daniel Eischen wrote:
> On Thu, 8 Feb 2007, Garrett Cooper wrote:
>>
>> Actually, now that I think about it the calls I made with ps in the program
>> are valid for Linux but not for FreeBSD (they're for getting thread
>> listings). Hence error code 2.
>>
>> From intro(2):
>>
>> 2 ENOENT No such file or directory. A component of a specified pathname
>> did not exist, or
>> the pathname was an empty
>> string.
>>
>> Didn't think that a bad command would return errno=2 though..
>
> And hopefully you've realized that your code is totally bogus
> since pthread_foo() don't set errno. All the pthread_foo()
> functions _return_ the error. If your code is not checking
> the return values from those functions, it is wrong on every
> platform, not just FreeBSD.
>
> --
> DE
Well, right. I was just being lazy by checking errno, instead of checking the return value of pthread_*. It wasn't meant to be anything more than a simple set of tests. I thought that errno was set on errors though, but after reading the manpage more carefully it turns out that this is not the case.
I'll see if I can fix my checks.
Thanks for bringing this to my attention!
-Garrett
More information about the freebsd-hackers
mailing list