From 0ce2fa6973810b2b99c85f446f79c505cfbf5652 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 29 May 2018 10:48:46 +0200 Subject: support: Add wrappers for pthread_barrierattr_t --- ChangeLog | 9 +++++++++ support/Makefile | 3 +++ support/xpthread_barrierattr_destroy.c | 26 ++++++++++++++++++++++++++ support/xpthread_barrierattr_init.c | 26 ++++++++++++++++++++++++++ support/xpthread_barrierattr_setpshared.c | 26 ++++++++++++++++++++++++++ support/xthread.h | 3 +++ 6 files changed, 93 insertions(+) create mode 100644 support/xpthread_barrierattr_destroy.c create mode 100644 support/xpthread_barrierattr_init.c create mode 100644 support/xpthread_barrierattr_setpshared.c diff --git a/ChangeLog b/ChangeLog index efd0bec672..7d69df5601 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2018-05-29 Florian Weimer + + * support/Makefile (libsupport-routines): Add + xpthread_barrierattr_destroy, xpthread_barrierattr_init, + xpthread_barrierattr_setpshared. + * support/xpthread_barrierattr_destroy.c: New file. + * support/xpthread_barrierattr_init.c: Likewise. + * support/xpthread_barrierattr_setpshared.c: Likewise. + 2018-05-29 H.J. Lu [BZ #23206] diff --git a/support/Makefile b/support/Makefile index bc2e5c69a2..652d2cdf69 100644 --- a/support/Makefile +++ b/support/Makefile @@ -98,6 +98,9 @@ libsupport-routines = \ xpthread_barrier_destroy \ xpthread_barrier_init \ xpthread_barrier_wait \ + xpthread_barrierattr_destroy \ + xpthread_barrierattr_init \ + xpthread_barrierattr_setpshared \ xpthread_cancel \ xpthread_check_return \ xpthread_cond_wait \ diff --git a/support/xpthread_barrierattr_destroy.c b/support/xpthread_barrierattr_destroy.c new file mode 100644 index 0000000000..3e471f9a81 --- /dev/null +++ b/support/xpthread_barrierattr_destroy.c @@ -0,0 +1,26 @@ +/* pthread_barrierattr_destroy with error checking. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrierattr_destroy (pthread_barrierattr_t *attr) +{ + xpthread_check_return ("pthread_barrierattr_destroy", + pthread_barrierattr_destroy (attr)); +} diff --git a/support/xpthread_barrierattr_init.c b/support/xpthread_barrierattr_init.c new file mode 100644 index 0000000000..4ee14e78f3 --- /dev/null +++ b/support/xpthread_barrierattr_init.c @@ -0,0 +1,26 @@ +/* pthread_barrierattr_init with error checking. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrierattr_init (pthread_barrierattr_t *attr) +{ + xpthread_check_return ("pthread_barrierattr_init", + pthread_barrierattr_init (attr)); +} diff --git a/support/xpthread_barrierattr_setpshared.c b/support/xpthread_barrierattr_setpshared.c new file mode 100644 index 0000000000..90b2c5bec6 --- /dev/null +++ b/support/xpthread_barrierattr_setpshared.c @@ -0,0 +1,26 @@ +/* pthread_barrierattr_setpshared with error checking. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +void +xpthread_barrierattr_setpshared (pthread_barrierattr_t *attr, int pshared) +{ + xpthread_check_return ("pthread_barrierattr_setpshared", + pthread_barrierattr_setpshared (attr, pshared)); +} diff --git a/support/xthread.h b/support/xthread.h index 79358e7c99..623f5ad0ac 100644 --- a/support/xthread.h +++ b/support/xthread.h @@ -41,6 +41,9 @@ void xpthread_check_return (const char *function, int value); void xpthread_barrier_init (pthread_barrier_t *barrier, pthread_barrierattr_t *attr, unsigned int count); void xpthread_barrier_destroy (pthread_barrier_t *barrier); +void xpthread_barrierattr_destroy (pthread_barrierattr_t *); +void xpthread_barrierattr_init (pthread_barrierattr_t *); +void xpthread_barrierattr_setpshared (pthread_barrierattr_t *, int pshared); void xpthread_mutexattr_destroy (pthread_mutexattr_t *); void xpthread_mutexattr_init (pthread_mutexattr_t *); void xpthread_mutexattr_setprotocol (pthread_mutexattr_t *, int); -- cgit 1.4.1