acadia-newlib/newlib/libc/sys
Sebastian Huber 724e21493a Self-contained pthread_spinlock_t for RTEMS
Turn pthread_spinlock_t into a self-contained object.  On uni-processor
configurations, interrupts are disabled in the lock/trylock operations
and the previous interrupt status is restored in the corresponding
unlock operations.  On SMP configurations, a ticket lock is a acquired
and released in addition.

See also:

https://devel.rtems.org/ticket/2674

This implementation is simple and efficient.  However, this test case of
the Linux Test Project would fail due to call of printf() and sleep()
during spin lock ownership:

https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-11-24 16:57:51 +01:00
..
a29khif Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
arm Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
d10v Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
decstation Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
epiphany Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
h8300hms Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
h8500hms Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
linux Regenerate newlib Makefiles 2016-07-04 17:13:55 +01:00
m88kbug Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
mmixware Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
netware Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
or1k Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
phoenix Phoenix-RTOS: Add caddr_t definition to <sys/types.h>. 2016-06-28 12:47:05 +02:00
rdos Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
rtems Self-contained pthread_spinlock_t for RTEMS 2016-11-24 16:57:51 +01:00
sh Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
sparc64 Add BSD guard for time_t 2016-04-15 14:51:39 +02:00
sun4 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
sysmec Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
sysnec810 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
sysnecv850 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
sysvi386 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
sysvnecv70 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
tic80 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
tirtos Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
w65 Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
z8ksim Bump up newlib version to 2.4.0 due to feature test refactoring 2016-03-29 17:33:42 -04:00
Makefile.am Make newlib manpages (v3) 2016-07-04 14:17:10 +01:00
Makefile.in Regenerate newlib Makefiles 2016-07-04 17:13:55 +01:00
aclocal.m4 2012-12-20 Jeff Johnston <jjohnstn@redhat.com> 2012-12-20 21:10:27 +00:00
configure Add port for Phoenix-RTOS in common configure files. 2016-05-09 15:23:58 -04:00
configure.in Add port for Phoenix-RTOS in common configure files. 2016-05-09 15:23:58 -04:00