This is the mail archive of the
mailing list for the glibc project.
Re: Contributing a compound object to the libpthread
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Oleh Derevenko <oleh dot derevenko at gmail dot com>, libc-alpha at sourceware dot org
- Date: Tue, 12 Jan 2016 22:55:02 -0500
- Subject: Re: Contributing a compound object to the libpthread
- Authentication-results: sourceware.org; auth=none
- References: <CAC1wWD3mbZCFnH7qRaUh9PW-1EcvqaN5enFGrKXvONCOPfyOQQ at mail dot gmail dot com>
On 01/06/2016 06:38 AM, Oleh Derevenko wrote:
> Hi All,
> Sorry for a somewhat unusual question.
> I have a devised a compound synchronization object approximately of
> the rwlock's level which helps with some aspects of data queue
> handling and provider-consumer interactions between threads. One of
> particular uses - it allows to wait for a worker to complete a
> specific work item with priority inheritance from the waiting thread
> (if the OS provides the priority inheritance feature at all, of
> course). If I would like to contribute this object to the libpthread,
> what would be the best way/place to do it?
At present libpthread implements the POSIX Threads functions and some
additional non-portable extenions. We don't deviate much from pthreads.
If your new feature is quite different then it might not be a match for
libpthread or glibc.
You should start by making your code available perhaps in a distinct
project or as a glibc add-on and discussing further once you have more
concrete information to present. Consider carefully the license of your
code and all things you'll need for a good contribution:
I know it's quite a lot to review, but license and copyright assignment
are the top two things to get out of the way if you're looking to
contribute to the project at any level.
We are also starting to discuss a non-pthread experimental library
for exposing executaion agent interfaces to be used by higher level
frameworks whose requirements don't directly map well onto POSIX
threads. Your synchronization object might be suited to such an
experimental library, but again it's hard to say without any more