Commit Graph

22 Commits

Author SHA1 Message Date
Yaakov Selkowitz 70ee6b17df ansification: remove _EXFUN, _EXFUN_NOTHROW
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:29 -06:00
Yaakov Selkowitz 0bda30e1ff ansification: remove _CONST
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:08 -06:00
Yaakov Selkowitz 36a0a675b4 Make __nonnull macro compatible with glibc
This form allows for multiple arguments, e.g. __nonnull((1,2)).

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-28 10:26:29 -06:00
Sebastian Huber 85d6679ab3 Add pthread_setname_np() and pthread_getname_np()
The pthread_setname_np() and pthread_getname_np() are GNU extensions and
provided by glibc.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-01-09 16:19:58 +01:00
Sebastian Huber 0bb58fbd3e Declare non-standard pthread_yield()
The non-standard pthread_yield() function is available at least on
Cygwin, FreeBSD and glibc.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-11-22 14:21:33 +01:00
Sebastian Huber e655d3d34b Move pthread types to <sys/_pthreadtypes.h>
This makes it possible provide operating system specific types for
<pthread.h>.  It is in line with the FreeBSD header file structure and
allows a future cleanup of <pthread.h> to not expose unrelated things
via <sys/types.h> and <unistd.h>.  Glibc uses the similar
<bits/pthreadtypes.h> for this purpose.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-11-17 11:33:15 +01:00
Corinna Vinschen 58ede08b91 Use #if __GNU_VISIBLE, not #ifdef __GNU_VISIBLE
sys/features.h always defines __GNU_VISIBLE, either as 0 or 1.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-24 10:18:54 +02:00
Joel Sherrill 1f9599f3a7 pthread.h: Mark pthread_exit() as not returning 2016-03-22 09:48:26 -05:00
Yaakov Selkowitz 96972e7198 Feature test macros overhaul: pthread.h
Use internal macros for GNU extensions.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-03-17 21:09:00 -05:00
Joel Sherrill 4fa84f10ec pthread.h, sys/types.h Add missing pthread methods
* pthread.h: Add prototypes for pthread_condattr_getclock(),
	pthread_condattr_setclock(), pthread_setschedpri(),
	pthread_getcpuclockid(), pthread_getconcurrency(), and
	pthread_setconcurrency().  Also cleaned up file header to
	remove CVS Id string.
	* sys/types.h: Add clock ID to pthread_condattr_t.
2016-02-22 10:05:17 -06:00
Sebastian Huber ce8159d5ce Include <sched.h> in <pthread.h>
This is mandated by POSIX.

2015-10-30  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	libc/include/pthread.h: Include <sched.h> instead of
	<sys/sched.h>.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-10-30 20:28:00 +01:00
Joel Sherrill a534dfd26e 2013-11-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/pthread.h (pthread_cleanup_push): Delete prototype
	and add macro of the same name.
	(pthread_cleanup_pop): Likewise.
	(_pthread_cleanup_context): Define.
	(_pthread_cleanup_push): Likewise.
	(_pthread_cleanup_pop): Likewise.
	(pthread_cleanup_push_defer_np): Define if _GNU_SOURCE is defined.
	(pthread_cleanup_pop_restore_np): Likewise.
	(_pthread_cleanup_push_defer): Likewise.
	(_pthread_cleanup_pop_restore): Likewise.
2013-11-29 23:35:34 +00:00
Joel Sherrill 62c28b76ac 2013-11-29 Jennifer Averett <jennifer.averett@oarcorp.com>
* libc/include/pthread.h (pthread_attr_setaffinity_np):
	Add pthread SMP affinity attributes to methods to RTEMS for
	compatibility with GNU/Linux.
	(pthread_attr_getaffinity_np): Likewise.
	(pthread_setaffinity_np): Likewise.
	(pthread_getaffinity_np): Likewise.
	(pthread_getattr_np): Add for GNU/Linux compatibility.
	* libc/include/sys/types.h: Add cpuset to pthread_attr_t for RTEMS.
	* libc/include/sys/cdefs.h (_GNU_SOURCE): Defining _GNU_SOURCE
	turns on all _XXX_VISBLE feature flags.
2013-11-29 23:14:57 +00:00
Joel Sherrill 6c3f590cd9 2013-01-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/pthread.h: Add PTHREAD_RWLOCK_INITIALIZER.
	Fix typo on PTHREAD_COJND_INITIALIZER.
2013-01-22 21:20:08 +00:00
Corinna Vinschen f8afe40f49 * include/sys/types.h: Add #if defined(__rtems__) around
pthread_attr_t.guardsize.

	* include/pthread.h: Add pthread_attr_setstack, pthread_attr_getstack,
	pthread_attr_getguardsize, pthread_attr_setguardsize.
	* include/sys/types.h (pthread_attr_t): Add guardsize.
2010-12-08 14:44:06 +00:00
Jeff Johnston f10d348770 2009-12-17 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/pthread.h: Add pthread_atfork, pthread_rwlock_unlock
        * libc/include/sys/stat.h: Use struct timespec st_*tim,
        blksize_t st_blksize, blkcnt_t st_blocks.
        Add st_*time compatibility macros.
2009-12-17 19:22:23 +00:00
Jeff Johnston a2c3c5dab4 2009-06-17 Michael Eager <eager@eagercon.com>
* libc/include/pthread.h: Support XMK (Xilinx) BSP, add RTEMS to
        PTHREAD_MUTEX_NORMAL.
        * libc/include/sys/features.h: Same.
        * libc/include/sys/types.h: Same.
2009-06-17 16:47:02 +00:00
Jeff Johnston b8e9a7c099 2008-11-19 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/pthread.h: Remove prototypes for
        pthread_attr_getcputime and pthread_attr_setcputime which
        were proposed but never approved by the POSIX standard.
2008-11-19 17:02:34 +00:00
Jeff Johnston 610eefefdd 2008-09-25 Raphael Derossa Pereira <raphaelpereira@gmail.com>
* libc/include/pthread.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add
        new pthread_mutexattr_gettype and pthread_mutexattr_settype
        prototypes.
        * libc/include/sys/types.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add
        new mutex type values.
        (pthread_mutexattr_t)[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add type
        field.
2008-09-26 16:15:50 +00:00
Jeff Johnston 23754b33c3 2006-09-13 Joel Sherrill <joel@oarcorp.com>
* libc/include/pthread.h: Add pthread barriers,
        rwlocks, and spinlocks.  Change const to
        _CONST and prefix parameter names with
        an underscore.
        * libc/include/sys/types.h: Add id and attribute
        types for barriers, wrlocks, and spinlocks.
        * libc/include/sys/features.h: Enable barriers,
        wrlocks, and spinlocks for RTEMS.
2006-09-13 22:09:27 +00:00
Joel Sherrill 89e3fcba70 2002-10-07 Joel Sherrill <joel@OARcorp.com>
* libc/include/pthread.h: Define PTHREAD_CANCELED.
2002-10-08 13:03:07 +00:00
Jeff Johnston 8fb3796385 2000-12-11 Joel Sherrill <joel@OARcorp.com>
* Merge RTEMS specific .h files into main libc/include.
        * libc/sys/rtems/include/signal.h: Removed.
        * libc/sys/rtems/include/time.h: Removed.
        * libc/sys/rtems/sys/features.h: Removed.
        * libc/sys/rtems/sys/sched.h: Removed.
        * libc/sys/rtems/sys/siginfo.h: Removed.
        * libc/sys/rtems/sys/signal.h: Removed.
        * libc/sys/rtems/sys/time.h: Removed.
        * libc/sys/rtems/sys/times.h: Removed.
        definitions for time_t and clock_t since these are
        no longer in time.h.
        * libc/include/pthread.h: New file.
        * libc/include/sys/sched.h: New file.
        * libc/include/sys/features.h: New file.
        * libc/include/time.h: Removed duplicate definition of clock_t
        and time_t, get them from <sys/types.h> instead.  Add prototypes        for POSIX clock and timer functionality.
        * libc/sys/linux/sys/types.h: Changed to include
        * libc/include/machine/types.h: Add _CLOCKID_T_ and _TIMER_T_.
        * libc/include/sys/signal.h: Add more complete set of POSIX
        signal functionality including real-time and threaded signals.
        * libc/include/sys/types.h: Add clock_t, time_t, struct
        timespec, and struct itimerspec.  Centralizing these makes
        things cleaner.  RTEMS uses 64-bit dev_t.
        Added numerous primitive definitions
        for pthreads including macros, pthread_attr_t,
        pthread_mutexattr_t, pthread_condattr_t, pthread_key_t,
        pthread_once_t, and pthread_t.
        * libc/include/sys/unistd.h: Added getlogin_r() prototype.
        If RTEMS follow POSIX on read(), write() and sbrk() prototype.
        Feature flags removed and moved to new file <sys/features.h>.
        Full set of POSIX sysconf() constants
2000-12-12 01:24:09 +00:00