Date: Fri, 9 Feb 2007 09:40:33 -0800 (PST) From: youshi10@u.washington.edu To: freebsd-questions@freebsd.org Subject: Re: Trying to join an already exited pthread Message-ID: <Pine.LNX.4.43.0702090940330.5825@hymn01.u.washington.edu> In-Reply-To: <Pine.GSO.4.64.0702090053310.6692@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.43.0702090940330.5825>