| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
The self-contained pthread_spinlock_t object is defined by Newlib in
<sys/_pthreadtypes.h>.
typedef struct {
struct _Ticket_lock_Control _lock;
__uint32_t _interrupt_state;
} pthread_spinlock_t;
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
There is only limited support for profiling on SMP configurations.
Delete CORE spinlock implementation.
Update #2674.
|
|
|
|
| |
updates #2608.
|
|
|
|
|
|
|
|
|
| |
This is the very simple implementation specified by the Open Group
for implementations with 1:1 kernel thread to user thread mappings.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_getconcurrency.html
updates #2680.
|
| |
|
| |
|
|
|
|
| |
Closes #2182
|
|
|
|
|
|
| |
Ensure that the global construction is performed in the context of the
first initialization thread. On SMP this was not guaranteed in the
previous implementation.
|
|
|
|
|
|
|
|
| |
Provide a file per BSP to list tests that do not build for a BSP. This change
removes the BSP_SMALL_MEMORY hack from the code. That hack was a
mistake.
Provide configuration files for each BSP with tests that cannot build.
|
| |
|
|
|
|
|
|
|
| |
Formerly POSIX keys were only enabled when POSIX threads
were enabled. Because they are a truly safe alternative
to per-task variables in an SMP system, they are being
enabled in all configurations.
|
| |
|
|
|
|
|
|
|
| |
This patch enables unlimited model in POSIX key manger and have a decent
runtime on POSIX key searching, adding and deleting operations. Memory
overhead is lower than current implementation when the size of key and key
value becomes big.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
|
| |
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
|
| |
|
|
|
|
|
|
| |
* psxconfig01/.cvsignore, psxconfig01/Makefile.am, psxconfig01/init.c,
psxconfig01/psxconfig01.doc, psxconfig01/psxconfig01.scn: New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1855/cpukit
* Makefile.am, configure.ac: Correct signal processing during
pthread_join. We are supposed to unblock the thread waiting on a
pthread_join(), dispatch the signal handler, account for it
potentially overwriting errno, and then have the thread return to
blocking within pthread_join().
* psxeintr_join/.cvsignore, psxeintr_join/Makefile.am,
psxeintr_join/init.c, psxeintr_join/psxeintr_join.doc,
psxeintr_join/psxeintr_join.scn: New files.
|
|
|
|
|
|
|
|
| |
PR 1867/cpukit
* Makefile.am, configure.ac, psx12/task.c, psxkey03/init.c,
psxrwlock01/test.c: Correct implementation of pthread_exit() and
pthread_join() to support the case where a thread is joinable but
calls pthread_exit() before a thread has attempted to join.
|
|
|
|
|
|
| |
* Makefile.am: Remove EXTRA_DIST.
Remove DIST_SUBDIRS.
Remove obsolete comments.
|
|
|
|
|
|
|
|
|
| |
PR 1759/cpukit
* Makefile.am, configure.ac: Add test to use some pthread calls with
Classic Tasks.
* psxclassic01/.cvsignore, psxclassic01/Makefile.am,
psxclassic01/init.c, psxclassic01/psxclassic01.doc,
psxclassic01/psxclassic01.scn: New files.
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add psxaio03/.
* psxaio03/Makefile.am, psxaio03/init.c, psxaio03/psxaio03.scn
psxaio03/system.h: New.
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: New test to ensure pthread_cond_wait() and
sleep() (e.g. interruptible blocking and sleeping) are interruptible
by signal.
* psxsignal06/.cvsignore, psxsignal06/Makefile.am, psxsignal06/init.c,
psxsignal06/psxsignal06.doc, psxsignal06/psxsignal06.scn: New files.
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac, psx07/init.c, psx07/psx07.scn,
psxhdrs/Makefile.am, psxstack01/init.c: Add pthread_attr_getstack,
pthread_attr_setstack, pthread_attr_getguardsize, and
pthread_attr_setguardsize.
* psxstack02/.cvsignore, psxstack02/Makefile.am, psxstack02/init.c,
psxstack02/psxstack02.doc, psxstack02/psxstack02.scn: New files.
|
|
|
|
|
|
| |
* psx15/.cvsignore, psx15/Makefile.am, psx15/init.c, psx15/psx15.scn:
New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add psxaio01/, psxaio02/.
* psxaio01/Makefile.am, psxaio01/init.c, psxaio01/psxaio01.scn,
psxaio01/system.h: New.
* psxaio02/Makefile.am, psxaio02/init.c, psxaio02/psxaio02.scn,
psxaio02/system.h: New.
|
|
|
|
|
|
|
|
| |
PR 1642/testing
* psximfs02/init.c, psximfs02/psximfs02.scn,
psximfs02/psximfs02.doc, psximfs02/Makefile.am: New test added.
* configure.ac, Makefile.am: Changes to accommodate psximfs02
test.
|
|
|
|
|
|
|
|
|
|
| |
PR 1613/testing
* psxfchx01/init.c, psxfchx01/Makefile.am, psxfchx01/.cvsignore,
psxfchx01/psxfchx01.doc, psxfchx01/psxfchx01.scn: New
tests. Improves coverage of fchdir, fchmod, fchown directives.
* configure.ac, Makefile.am: Changes to accommodate new test.
* psxstat/test.c, psxstat/psxstat.scn: Added new test case to test
statvfs routine under libcsupport.
|
|
|
|
|
|
|
|
|
|
| |
PR 1610/testing
* psx13/test.c, psx13/psx13.scn: Remove the test cases which
exercise pipe. These are new a new test under psxpipe01/
* psxpipe01/init.c, psxpipe01/Makefile.am,
psxpipe01/psxpipe01.scn, psxpipe01/psxpipe01.doc: Added new test.
* Makefile.am, configure.ac: Changes due to addition of new test:
psxpipe01.
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add test for various forms of times() and
getrusage().
* psxgetrusage01/.cvsignore, psxgetrusage01/Makefile.am,
psxgetrusage01/init.c, psxgetrusage01/psxgetrusage01.doc,
psxgetrusage01/psxgetrusage01.scn, psxtimes01/.cvsignore,
psxtimes01/Makefile.am, psxtimes01/init.c, psxtimes01/psxtimes01.doc,
psxtimes01/psxtimes01.scn: New files.
|
|
|
|
|
|
|
|
|
|
| |
PR 1598/testing
* Makefile.am, configure.ac, psxpasswd01/init.c,
psxpasswd01/psxpasswd01.doc, psxpasswd01/psxpasswd01.scn: Add testing
for POSIX user database (e.g. /etc/group and /etc/passwd) access
routines which are implemented in libcsupport/src/getpwent.c.
* psxpasswd02/.cvsignore, psxpasswd02/Makefile.am, psxpasswd02/init.c,
psxpasswd02/psxpasswd02.doc, psxpasswd02/psxpasswd02.scn: New files.
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add tests for file lock stubs as well as
various POSIX methods that access UID, PID, and GID.
* psxfilelock01/.cvsignore, psxfilelock01/Makefile.am,
psxfilelock01/init.c, psxfilelock01/psxfilelock01.doc,
psxfilelock01/psxfilelock01.scn, psxid01/.cvsignore,
psxid01/Makefile.am, psxid01/init.c, psxid01/psxid01.doc,
psxid01/psxid01.scn: New files.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add test to exercise IMFS behaviour with
files of maximum sizes.
* psximfs01/.cvsignore, psximfs01/Makefile.am, psximfs01/init.c,
psximfs01/psximfs01.doc, psximfs01/psximfs01.scn: New files.
|
|
|
|
| |
* Makefile.am, configure.ac: Revert accidentally committed patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac, psx01/Makefile.am, psx02/Makefile.am,
psx03/Makefile.am, psx04/Makefile.am, psx05/Makefile.am,
psx06/Makefile.am, psx07/Makefile.am, psx08/Makefile.am,
psx09/Makefile.am, psx10/Makefile.am, psx11/Makefile.am,
psx12/Makefile.am, psx13/Makefile.am, psx14/Makefile.am,
psxalarm01/Makefile.am, psxautoinit01/Makefile.am,
psxautoinit02/Makefile.am, psxbarrier01/Makefile.am,
psxcancel/Makefile.am, psxcancel01/Makefile.am,
psxchroot01/Makefile.am, psxcleanup/Makefile.am,
psxcleanup01/Makefile.am, psxclock/Makefile.am,
psxcond01/Makefile.am, psxenosys/Makefile.am, psxfatal01/Makefile.am,
psxfatal02/Makefile.am, psxfile01/Makefile.am, psxfile02/init.c,
psxfile02/psxfile02.doc, psxfile02/psxfile02.scn,
psxintrcritical01/Makefile.am, psxitimer/Makefile.am,
psxkey01/Makefile.am, psxkey02/Makefile.am, psxkey03/Makefile.am,
psxmount/Makefile.am, psxmsgq01/Makefile.am, psxmsgq02/Makefile.am,
psxmsgq03/Makefile.am, psxmsgq04/Makefile.am,
psxmutexattr01/Makefile.am, psxobj01/Makefile.am,
psxpasswd01/Makefile.am, psxrdwrv/Makefile.am,
psxreaddir/Makefile.am, psxrwlock01/Makefile.am,
psxsem01/Makefile.am, psxsignal01/Makefile.am,
psxsignal02/Makefile.am, psxsignal03/Makefile.am,
psxsignal04/Makefile.am, psxsignal05/Makefile.am,
psxspin01/Makefile.am, psxspin02/Makefile.am, psxstack01/Makefile.am,
psxstat/Makefile.am, psxsysconf/Makefile.am, psxtime/Makefile.am,
psxtimer01/Makefile.am, psxtimer02/Makefile.am,
psxualarm/Makefile.am, psxusleep/Makefile.am: Add test for fd greater
than number of file descriptors configured.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Added test case for calls that check for
an unopened file descriptor.
* psxfile02/.cvsignore, psxfile02/Makefile.am, psxfile02/init.c,
psxfile02/psxfile02.doc, psxfile02/psxfile02.scn: New files.
|
|
|
|
|
| |
* psx13/test.c, psx13/psx13.scn Added new routine PipeTestNull()
to cover the trivial NULL case for pipe function.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: New test to exercise getgrnam and getpwnam
families.
* psxpasswd01/.cvsignore, psxpasswd01/Makefile.am, psxpasswd01/init.c,
psxpasswd01/psxpasswd01.doc, psxpasswd01/psxpasswd01.scn: New files.
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1466/tests
* Makefile.am, configure.ac, psxclock/init.c, psxclock/psxclock.doc,
psxclock/psxclock.scn, psxkey03/init.c, psxsignal02/init.c,
psxsignal03/init.c, psxstack01/init.c: Remove usleep() from tests.
Add test specifically to test it since it is deprecated as of
POSIX.1-2008.
* psxusleep/.cvsignore, psxusleep/Makefile.am, psxusleep/init.c,
psxusleep/psxusleep.doc, psxusleep/psxusleep.scn: New files.
|
|
|
|
|
| |
* Makefile.am: Build file IO related tests even with POSIX threading is
disabled.
|
|
|
|
|
|
|
|
|
| |
* psxcleanup/system.h: Fix typo.
* Makefile.am, configure.ac: Add new test for exercising pushing
and popping a clean up handler without actually executing it.
* psxcleanup01/.cvsignore, psxcleanup01/Makefile.am,
psxcleanup01/init.c, psxcleanup01/psxcleanup01.doc,
psxcleanup01/psxcleanup01.scn: New files.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add new test to ensure that canceling an
alarm works as defined.
* psxalarm01/.cvsignore, psxalarm01/Makefile.am, psxalarm01/init.c,
psxalarm01/psxalarm01.doc, psxalarm01/psxalarm01.scn: New files.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add new test for calling pthread_cancel()
from an ISR.
* psxcancel01/.cvsignore, psxcancel01/Makefile.am, psxcancel01/init.c,
psxcancel01/psxcancel01.doc, psxcancel01/psxcancel01.scn: New files.
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac, psx01/init.c, psx01/psx01.scn: Add new
test to exercise clock and delay services enabled when POSIX threads
are disabled. This is split from psx01. POSIX test suite now enabled
when POSIX threads are disabled so only enable tests which are
appropriate.
* psxclock/.cvsignore, psxclock/Makefile.am, psxclock/init.c,
psxclock/psxclock.doc, psxclock/psxclock.scn: New files.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add test case for user providing their own
stack to a POSIX thread.
* psxstack01/.cvsignore, psxstack01/Makefile.am, psxstack01/init.c,
psxstack01/psxstack01.doc, psxstack01/psxstack01.scn: New files.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add a test to exercise an odd case in
_POSIX_signals_Clear_signals.
* psxsignal05/.cvsignore, psxsignal05/Makefile.am, psxsignal05/init.c,
psxsignal05/psxsignal05.doc, psxsignal05/psxsignal05.scn: New files.
|
|
|
|
|
|
| |
* Makefile.am, psxmsgq04/init.c, psxmsgq04/psxmsgq04.doc,
psxmsgq04/psxmsgq04.scn: Exercise running out of memory while
allocating the message buffers for a POSIX message queue.
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac, psxsignal03/Makefile.am,
psxsignal03/init.c, psxsignal03/psxsignal03.doc: Add new test
variation which focused on real-time signals rather than user
signals.
* psxsignal04/.cvsignore, psxsignal04/Makefile.am,
psxsignal04/psxsignal04.doc, psxsignal04/psxsignal04.scn: New files.
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add new test to account for properly
handling keys when a thread has non-NULL key value and key has NULL
destructor and when a thread has NULL key value and key has
destructor.
* psxkey03/.cvsignore, psxkey03/Makefile.am, psxkey03/init.c,
psxkey03/psxkey03.doc, psxkey03/psxkey03.scn: New files.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: Add new test for exercising running out of
memory while allocating the key pointers.
* psxkey02/.cvsignore, psxkey02/Makefile.am, psxkey02/init.c,
psxkey02/psxkey02.doc, psxkey02/psxkey02.scn: New files.
|