Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Dec 2009 15:04:23 -0500
From:      Alexander Kabaev <kabaev@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Eischen <deischen@freebsd.org>, Daniel, David Xu <davidxu@freebsd.org>, freebsd-threads@freebsd.org
Subject:   Re: first patch for process-shared semaphore
Message-ID:  <20091228150423.201936b4@kan.dnsalias.net>
In-Reply-To: <200912281121.30939.jhb@freebsd.org>
References:  <4B317741.8080004@freebsd.org> <200912240759.47703.jhb@freebsd.org> <4B385BB9.3010109@freebsd.org> <200912281121.30939.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/sKORHipieJpQpE4DcbZMhid
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Mon, 28 Dec 2009 11:21:30 -0500
John Baldwin <jhb@freebsd.org> wrote:

> On Monday 28 December 2009 2:18:17 am David Xu wrote:
> > John Baldwin wrote:
> > > On Wednesday 23 December 2009 10:12:19 pm Alexander Kabaev wrote:
> > >> On Thu, 24 Dec 2009 09:58:50 +0800
> > >> David Xu <davidxu@freebsd.org> wrote:
> > >>
> > >>> Alexander Kabaev wrote:
> > >>>> On Thu, 24 Dec 2009 09:22:34 +0800
> > >>>> David Xu <davidxu@freebsd.org> wrote:
> > >>>>> libthr does not require semaphore, it implements semaphore,
> > >>>>> it is easier than other ways to implement the process-shared.
> > >>>>>
> > >>>> Let me rephrase: I do not think semaphores belong in libthr.
> > >>>> They should be either in libc or in librt.
> > >>>>
> > >>>>
> > >>> OK, does others really implement semaphore in librt ?
> > >>> unfortunately, the librt already requires libpthread to
> > >>> implement SIGEV_THREAD.
> > >> I retract that. It appears that there is no consistency -
> > >> Solaris put these into libc, Linux into libpthread ans SUSv2
> > >> hints that these belong with realtime functions. libthr is fine.
> > >=20
> > > I vote for libc.  Single-threaded processes can use sem_open()
> > > and PSHARED sem_init() as well.  Single-threaded processes can
> > > even use non-PSHARED sem_init() by using fork() to create new
> > > "threads" that share the=20
> semaphore.
> > >=20
> > May I can move all semaphore functions into libc and remove all
> > semaphore related symbols from libthr ? In pratical, this is not a
> > problem, because libthr itself is not dlopen-safe, all missing
> > semaphore functions in libthr will be found in libc by rtld.
>=20
> I would go with this approach.  There is also some discussion about
> moving all of libthr into libc as well and having a dummy libpthread
> now that we are back to a single threading library and to avoid
> issues with dlopen() of libpthread, etc.
>=20

Removing symbols from library, versioned library especially, is a big=20
wrong. You should provide compat symbols for all functions that that
were there before. =20

--=20
Alexander Kabaev

--Sig_/sKORHipieJpQpE4DcbZMhid
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (FreeBSD)

iD8DBQFLOQ9LQ6z1jMm+XZYRApnrAKDK1kDOTKhtaXvotDFx/FF65w/TmACg7EAJ
7q8iXn24ZMHtwaFpZMkw4xo=
=NVRk
-----END PGP SIGNATURE-----

--Sig_/sKORHipieJpQpE4DcbZMhid--



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