[ANNOUNCE] libxshmfence 1.2
Thomas Klausner
wiz at NetBSD.org
Sat Jan 3 00:39:58 PST 2015
Hi Keith!
On Fri, Jan 02, 2015 at 08:15:00PM -0800, Keith Packard wrote:
> Thomas Klausner <wiz at NetBSD.org> writes:
>
> > Hi!
> >
> > This version doesn't build for me on NetBSD-7.99.3/amd64 and gcc-4.8.4 with:
> >
> > CC xshmfence_pthread.lo
> > xshmfence_pthread.c: In function 'xshmfence_init':
> > xshmfence_pthread.c:122:5: error: implicit declaration of function 'pthread_mutexattr_setpshared' [-Werror=implicit-function-declaration]
> > pthread_mutexattr_setpshared(&mutex_attr, PTHREAD_PROCESS_SHARED);
> > ^
> > xshmfence_pthread.c:122:5: warning: nested extern declaration of 'pthread_mutexattr_setpshared' [-Wnested-externs]
> > xshmfence_pthread.c:126:5: error: implicit declaration of function 'pthread_condattr_setpshared' [-Werror=implicit-function-declaration]
> > pthread_condattr_setpshared(&cond_attr, PTHREAD_PROCESS_SHARED);
> > ^
> > xshmfence_pthread.c:126:5: warning: nested extern declaration of 'pthread_condattr_setpshared' [-Wnested-externs]
> >
> > "man pthread_condattr_setpshared" comes up empty too. Is there another
> > more portable function you could use here?
>
> This code hasn't changed since version 1.1.
You are right. 1.1. doesn't work either.
> I believe both of these are
> part of the POSIX threads API, as described in the single unix spec
> here:
>
> http://www.unix.org/version2/whatsnew/login_threads.html
I think you are right. They are not on that page, but on
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_setpshared.html
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_setpshared.html
> If the NetBSD mutexes can be shared across processes, and yet doesn't
> have these functions, then it's probably reasonable to add tests to the
> build process that enable the library even in the absence of them.
I'm told that NetBSD mutexes can not be shared across processes.
I'll file a bug report so NetBSD will hopefully provide these.
Is there a way libxshmfence can work without them?
According to
https://www.gnu.org/software/gnulib/manual/html_node/pthread_005fmutexattr_005fsetpshared.html
they are missing on more systems.
Thomas
More information about the xorg
mailing list