Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Mar 2011 23:52:26 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        threads@freebsd.org
Subject:   Re: pthread_key_create and !-lpthreads binaries
Message-ID:  <Pine.GSO.4.64.1103132351350.3006@sea.ntplx.net>
In-Reply-To: <alpine.BSF.2.00.1103131929440.77294@fledge.watson.org>
References:  <alpine.BSF.2.00.1103131929440.77294@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 13 Mar 2011, Robert Watson wrote:

>
> Dear threading folk:
>
> This afternoon I wrote some threaded code for Mac OS X, and then checked it 
> out on FreeBSD and was a bit surprised when it compiled but didn't work. 
> Turns out, of course, that on Mac OS X I'd omitted -lpthread and not noticed, 
> as the thread primitives are in libSystem.  It ran, and the reason I ran into 
> trouble is that, although no-op locking calls are fine, getting back 
> "success" from pthread_key_create() when it has actually failed is 
> problematic.
>
> Would it be possible to make the thread stub for pthread_key_create() return 
> an error, instead of succeeding (but not actually succeeding)?  Or, perhaps 
> better yet, I should get a link-time error for that function, even though I 
> shouldn't get one for lock/unlock?

I think returning an error in this case is probably correct.
I can look into it if no one else gets to it before me.

-- 
DE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.1103132351350.3006>