summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/Makefile.am (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-01-13posix: Add pthread_getname_np(), ...Sebastian Huber1-0/+2
Add pthread_getname_np() and pthread_setname_np(). Update #2858.
2016-11-23posix: Add self-contained pthread spinlockSebastian Huber1-7/+7
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.
2016-06-22posix: _POSIX_Mutex_Default_attributesSebastian Huber1-1/+1
Make _POSIX_Mutex_Default_attributes constant and independent of the scheduler instance. Use INT_MAX to indicate the default ceiling priority.
2016-06-16Add pthread_condattr_getclock() and pthread_condattr_setclock()Joel Sherrill1-1/+3
updates #2608.
2016-06-14posix: sched_get_priority_max()Sebastian Huber1-1/+2
Enable for all configurations since it pulls in no additional dependencies. Return value of the scheduler instance of the executing thread.
2016-06-14posix: sched_get_priority_min()Sebastian Huber1-1/+3
Enable for all configurations since it pulls in no additional dependencies.
2016-06-13posix: Add pthread_setschedprio()Sebastian Huber1-0/+1
Close #2734.
2016-05-26score: Add Status_Control for all APIsSebastian Huber1-7/+6
Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
2016-05-20posix: Rework thread cancellationSebastian Huber1-2/+1
Add Thread_Life_state::THREAD_LIFE_CHANGE_DEFERRED and rework the POSIX thread cancellation to use the thread life states. Update #2555. Update #2626.
2016-05-02posix: _POSIX_Message_queue_Create_support()Sebastian Huber1-1/+1
Make _POSIX_Message_queue_Create_support() static since it is only used by mq_open().
2016-04-14Add pthread_getconcurrency() and pthread_setconcurrency()Joel Sherrill1-0/+1
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.
2016-04-06posix: Make _POSIX_signals_Check_signal() staticSebastian Huber1-1/+1
2016-03-18posix: Use per-thread lookup tree for POSIX KeysSebastian Huber1-1/+1
Yields higher performance on SMP systems. Close #2625.
2016-03-04score: Replace watchdog handler implementationSebastian Huber1-2/+1
Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
2016-02-03Optional POSIX Keys initializationSebastian Huber1-1/+1
Update #2408.
2016-02-03Optional POSIX Cleanup initializationSebastian Huber1-2/+2
Update #2408.
2016-01-19posix/src/exec*: Remove all variants already in NewlibJoel Sherrill1-3/+1
The RTEMS build of Newlib includes implementations of all exec*() variants. They rely on the _execve() support method. RTEMS already had this and it returned ENOSYS. There is no functional change. closes #2537.
2016-01-18posix: Remove clock_getenable_attr() and clock_setenable_attr()Joel Sherrill1-2/+1
These were not implemented and it does not appear that they were ever officially part of an approved POSIX standard. They were likely part of the Draft 8 of POSIX 1003.1b that RTEMS pthreads were initially based upon. closes #2531.
2015-07-28score: Rename _POSIX_Absolute_timeout_to_ticks()Sebastian Huber1-2/+1
Rename _POSIX_Absolute_timeout_to_ticks() to _TOD_Absolute_timeout_to_ticks() and move it to the score directory. Delete empty <rtems/posix/time.h>.
2015-03-10posix: Install <semaphore.h> only if not providedSebastian Huber1-0/+2
2014-11-20sys/mman.h: New file. Clean up and add supporting stubsJoel Sherrill1-0/+2
* Makefile.am updated and preinstall.am regenerated. * mprotect.c had a prototype removed now that we have mman.h * mmap.c, munmap.c: New stub files.
2014-03-19posix: Use interal mutex for once implementationSebastian Huber1-4/+3
Enable pthread_once() for all configurations. The pthread_once() function is one means to initialize POSIX keys. Another use case is the C++ support.
2014-03-07POSIX keys now enabled in all configurations.Joel Sherrill1-9/+11
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.
2014-03-07Remove trailing whitespace in previous patchesJennifer Averett1-2/+2
2014-03-07posix: Add pthread_getattr_np().Jennifer Averett1-0/+1
This is a useful POSIX thread API helper which is found in `GNU/Linux and *BSD.
2014-03-07posix: Add dynamic pthread get and set affinity.Jennifer Averett1-1/+2
This patch adds the following methods: + pthread_get_affinity_np + pthread_set_affinity_np
2014-03-07posix: Add pthread_attr_t methods to get/set affinity.Jennifer Averett1-0/+6
This patch adds the following methods: + pthread_attr_get_affinity_np + pthread_attr_set_affinity_np
2014-03-07posix: Add support method to compare two pthread attribute structures.Jennifer Averett1-0/+3
2013-08-14posix: Change pthread_once to be SMP safe.Chris Johns1-1/+5
Change pthread_once from using disabled pre-emption to using a pthread mutex making it SMP safe. GCC using a posix threading model uses pthread_once. The pthread mutex requires at least 1 mutex is configured so confdefs.h has been updated to account for the internal mutex.
2013-08-08PR766: Delete __RTEMS_INSIDE__Sebastian Huber1-2/+0
2013-08-06posix: Create key implementation headerSebastian Huber1-2/+1
Move implementation specific parts of key.h and key.inl into new header file keyimpl.h. The key.h contains now only the application visible API.
2013-07-22posix: Create spinlock implementation headerSebastian Huber1-1/+1
Move implementation specific parts of spinlock.h and spinlock.inl into new header file spinlockimpl.h. The spinlock.h contains now only the application visible API.
2013-07-22posix: Create timer implementation headerSebastian Huber1-1/+1
Move implementation specific parts of timer.h and timer.inl into new header file timerimpl.h. The timer.h contains now only the application visible API.
2013-07-22posix: Create rwlock implementation headerSebastian Huber1-1/+1
Move implementation specific parts of rwlock.h and rwlock.inl into new header file rwlockimpl.h. The rwlock.h contains now only the application visible API.
2013-07-22posix: Create pthread implementation headerSebastian Huber1-1/+1
Move implementation specific parts of pthread.h and pthread.inl into new header file pthreadimpl.h. The pthread.h contains now only the application visible API.
2013-07-22posix: Create priority implementation headerSebastian Huber1-2/+1
Move implementation specific parts of priority.h and priority.inl into new header file priorityimpl.h. Remove priority.h since there is no application visible API.
2013-07-22posix: Create condition variable impl headerSebastian Huber1-1/+1
Move implementation specific parts of cond.h and cond.inl into new header file condimpl.h. The cond.h contains now only the application visible API.
2013-07-22posix: Create barrier implementation headerSebastian Huber1-1/+1
Move implementation specific parts of barrier.h and barrier.inl into new header file barrierimpl.h. The barrier.h contains now only the application visible API.
2013-07-22posix: Create message queue implementation headerSebastian Huber1-1/+1
Move implementation specific parts of mqueue.h and mqueue.inl into new header file mqueueimpl.h. The mqueue.h contains now only the application visible API.
2013-07-22posix: Create semaphore implementation headerSebastian Huber1-1/+1
Move implementation specific parts of semaphore.h and semaphore.inl into new header file semaphoreimpl.h. The semaphore.h contains now only the application visible API.
2013-07-18posix: Create mutex implementation headerSebastian Huber1-1/+1
Move implementation specific parts of mutex.h and mutex.inl into new header file muteximpl.h. The mutex.h contains now only the application visible API.
2012-12-05posix: Add and use <rtems/posix/psignalimpl.h>Sebastian Huber1-0/+1
This file contains the parts of <rtems/posix/psignal.h> that are only necessary for the POSIX API implementation.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-4/+0
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.
2012-05-07Revert: Remove CVS IdsJoel Sherrill1-0/+4
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
2012-05-04Remove CVS-Ids.Ralf Corsépius1-4/+0
2011-12-132011-12-13 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-2/+3
* posix/src/mqueuenametoid.c, posix/src/semaphorenametoid.c: Removed files. * posix/src/psxnametoid.c: New file. * posix/Makefile.am: Reflect changes above. * posix/include/rtems/posix/config.h: Fixed integer types. * posix/include/rtems/posix/posixapi.h: Declare _POSIX_Name_to_id(). * posix/include/rtems/posix/mqueue.h, posix/inline/rtems/posix/mqueue.inl: Changed parameter of _POSIX_Message_queue_Create_support(). _POSIX_Message_queue_Name_to_id() is now inline. * posix/include/rtems/posix/semaphore.h, posix/inline/rtems/posix/semaphore.inl: Changed parameter of _POSIX_Semaphore_Create_support(). _POSIX_Semaphore_Name_to_id() is now inline. * posix/src/mqueuecreatesupp.c, posix/src/semaphorecreatesupp.c: Use _Workspace_String_duplicate(). * posix/src/mqueuesendsupp.c, posix/src/mqueueopen.c, posix/src/mqueueunlink.c, posix/src/seminit.c, posix/src/semopen.c, posix/src/semunlink.c: Update due to API changes.
2011-12-082011-12-08 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-2/+2
PR 1981/cpukit * posix/Makefile.am: Reflect changes below. * posix/src/pthreadsetcputime.c, posix/src/pthreadgetcputime.c: Remove (Obsolete).
2011-05-192011-05-19 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+0
* posix/Makefile.am: Remove posixtime.h. * posix/src/clockgetres.c, posix/src/clockgettime.c, posix/src/clocksettime.c: Remove posixtime.h. Require CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID. * posix/src/posixtime.h: Remove.
2011-05-162011-05-16 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-20/+33
* Makefile.am: Reformat. * posix/Makefile.am: Reformat.
2011-05-162011-05-16 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-0/+1
* posix/Makefile.am: Add posixtime.h. * posix/src/clockgetres.c, posix/src/clockgettime.c, posix/src/clocksettime.c: Use CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID. Include posix/src/posixtime.h. * posix/src/posixtime.h: New.