summaryrefslogtreecommitdiffstats
path: root/cpukit/posix (follow)
Commit message (Collapse)AuthorAgeFilesLines
* posix: Fix rwlock auto initializationSebastian Huber2018-07-161-1/+1
| | | | Add more test cases.
* posix: Check for new <pthread.h> prototypesSebastian Huber2018-07-053-8/+16
| | | | | Update #3342. Update #3343.
* build: Remove EXTRA_DISTSebastian Huber2018-04-041-2/+0
| | | | | A "make dist" is not supported. So, it makes no sense to have pure "make dist" related stuff in the Makefile.am.
* Use _Thread_Dispatch_direct()Sebastian Huber2018-02-082-2/+2
| | | | | | | Use _Thread_Dispatch_direct() for operations that block the executing thread. This ensures that we get a fatal error (INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL) if we try to block in an invalid context, e.g. during system start or an interrupt handler.
* posix: Use one second based CLOCK_MONOTONICSebastian Huber2018-02-021-2/+3
| | | | | | | This simplifies the CLOCK_MONOTONIC based time services. It is potentially important for libbsd. Close #3265.
* score: Introduce new monotonic clockSebastian Huber2018-02-028-14/+14
| | | | | | | | Rename PER_CPU_WATCHDOG_MONOTONIC to PER_CPU_WATCHDOG_TICKS. Add new PER_CPU_WATCHDOG_MONOTONIC which is based on the system uptime (measured by timecounter). Close #3264.
* Remove make preinstallChris Johns2018-01-2532-3982/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* posix: Remove unused global variableSebastian Huber2017-12-151-2/+0
| | | | | Update #2702. Update #2555.
* score: Use self-contained API mutexSebastian Huber2017-12-041-1/+1
| | | | | | | | | | Use a self-contained recursive mutex for API_Mutex_Control. The API mutexes are protected against asynchronous thread cancellation. Add dedicated mutexes for libatomic and TOD. Close #2629. Close #2630.
* INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULLSebastian Huber2017-11-221-7/+1
| | | | | | Delete superfluous INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL. Update #3243.
* score: Simplify global constructionSebastian Huber2017-11-221-22/+4
| | | | Update #3243.
* posix: _POSIX_Threads_Get_sched_param_sporadic()Sebastian Huber2017-11-213-9/+4
| | | | | | Remove api parameter to simplify the calling functions. Update #2514.
* posix: Change created_with_explicit_schedulerSebastian Huber2017-11-093-8/+5
| | | | | | | | Remove POSIX_API_Control::created_with_explicit_scheduler. Add Thread_Control::was_created_with_inherited_scheduler. This fixes also pthread_getattr_np() for Classic tasks. Update #2514.
* posix: Remove POSIX_API_Control::schedpolicySebastian Huber2017-11-098-27/+45
| | | | | | | Use the thread CPU budget algorithm to determine the scheduler policy. This fixes also pthread_getschedparam() for Classic tasks. Update #2514.
* posix: Use far future for very long timeoutsSebastian Huber2017-11-022-22/+8
| | | | Close #3205.
* posix: Fix pthread_create() with user stackSebastian Huber2017-10-281-3/+11
| | | | | | | In case the user provides a stack with address and size, then do not alter the stack size. Close #3211.
* score: Move thread queue timeout handlingSebastian Huber2017-10-2422-559/+280
| | | | | Update #3117. Update #3182.
* score: Rename function threadq support functionSebastian Huber2017-10-246-9/+6
| | | | | | | | | Rename _Thread_queue_Context_set_do_nothing_enqueue_callout() into _Thread_queue_Context_set_enqueue_do_nothing_extra(). More _Thread_queue_Context_set_enqueue_*() functions will follow. Update #3117. Update #3182.
* score: Rename _Watchdog_Ticks_from_*()Sebastian Huber2017-10-241-2/+2
| | | | | | | | | | Rename _Watchdog_Ticks_from_*() to _Watchdog_Realtime_from_*(). This highlights that these routines are used for the CLOCK_REALTIME watchdogs (in contrast to CLOCK_MONOTONIC). Update #3117. Update #3182.
* posix: Do not touch msg priority in case of errorSebastian Huber2017-10-241-4/+4
|
* posix: Fix POSIX disabled buildSebastian Huber2017-10-231-1/+4
| | | | Update #2514.
* posix: Fix POSIX disabled buildSebastian Huber2017-10-181-0/+4
| | | | Update #2514.
* posix: Simplify _POSIX_Threads_Create_extension()Sebastian Huber2017-10-172-17/+4
| | | | | | Move unblocked signals initialization to pthread_create(). Update #2514.
* posix: Remove POSIX_API_Control::schedparamSebastian Huber2017-10-178-31/+80
| | | | | | | | Move sporadic server scheduler parameters to POSIX_API_Control::Sporadic. Remove redundant scheduler priority parameter. Update #2514.
* posix: Move POSIX_API_Control::threadSebastian Huber2017-10-172-5/+5
| | | | | | This member is only used by the sporadic server support. Update #2514.
* posix: Fix _POSIX_Threads_Create_extension()Sebastian Huber2017-10-172-2/+2
| | | | | | The thread POSIX API control must be fully initialized in _POSIX_Threads_Create_extension(), otherwise a pthread_setschedparam() is broken for all threads not created with pthread_create().
* score: Rename _Watchdog_Per_CPU_insert_monotonic()Sebastian Huber2017-10-172-2/+2
| | | | | | | | Rename _Watchdog_Per_CPU_insert_monotonic() in _Watchdog_Per_CPU_insert_ticks(). Update #3117. Update #3182.
* score: Rename watchdog variantsSebastian Huber2017-10-177-12/+12
| | | | | | | | | | | Rename PER_CPU_WATCHDOG_RELATIVE in PER_CPU_WATCHDOG_MONOTONIC to highlight the corresponding POSIX CLOCK_MONOTONIC. Rename PER_CPU_WATCHDOG_ABSOLUTE in PER_CPU_WATCHDOG_REALTIME to highlight the corresponding POSIX CLOCK_REALTIME. Update #3117. Update #3182.
* posix: Fix const qualifier warningSebastian Huber2017-10-121-2/+4
| | | | | Update #2514. Update #3179.
* posix: Use right time format in adjtime()Sebastian Huber2017-10-121-4/+5
| | | | Update #2740.
* posix: Include missing <limits.h>Sebastian Huber2017-10-111-0/+2
|
* score: Remove CPU_set_ControlSebastian Huber2017-10-112-2/+0
| | | | | | Use Processor_mask instead. Update #2514.
* posix: Validate affinity sets by the schedulerSebastian Huber2017-10-111-7/+2
| | | | Update #2514.
* score: Add _Thread_queue_Dispatch_disable()Sebastian Huber2017-10-103-12/+4
|
* posix: Unconditional thread attribute supportSebastian Huber2017-10-1013-100/+155
| | | | Update #2514.
* posix: Constify default thread processor affinitySebastian Huber2017-10-102-18/+3
| | | | | | | | Set default thread processor affinity to all processors of the pre-allocated set. This allows to constify the _POSIX_Threads_Default_attributes. Update #2514.
* posix: Simplify pthread_attr_setstack()Sebastian Huber2017-10-102-15/+2
| | | | | | | | | Simplify * pthread_attr_setstack(), and * pthread_attr_setstacksize(). Update #2514.
* posix: Remove rtems_pthread_attribute_compare()Sebastian Huber2017-10-093-104/+0
| | | | | Update #2514. Close #3174.
* posix: Simplify POSIX_API_ControlSebastian Huber2017-10-0914-58/+73
| | | | | | | | | | | | | | | | | | | | | | | | Return stack area via pthread_getattr_np(). Simplify * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() and let the scheduler do the more sophisticated error checks. Make * pthread_setaffinity_np(), * pthread_getaffinity_np(), * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() available in all configurations. Update #2514. Close #3145. Close #3168.
* score: Use struct timespec for TODSebastian Huber2017-10-093-4/+9
| | | | | | | Use the timestamps only for uptime based values. Use struct timespec for the absolute time values (TOD). Update #2740.
* posix: Resurrect signal supportSebastian Huber2017-10-061-0/+4
| | | | | This was accidentally removed during a merge conflict by 89fc9345dea5c675f8d93546fa3c723918d3279a.
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-0513-378/+607
| | | | | | | | POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
* posix: Implement self-contained POSIX condvarSebastian Huber2017-10-0512-304/+190
| | | | | | | | POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-0515-274/+103
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* posix: Implement self-contained POSIX barriersSebastian Huber2017-10-059-290/+156
| | | | | | | | POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
* posix: Implement self-contained POSIX semaphoresSebastian Huber2017-10-0518-461/+296
| | | | | | | | | | | | | | For semaphore object pointer and object validation see POSIX_SEMAPHORE_VALIDATE_OBJECT(). Destruction or close of a busy semaphore returns an error status. The object is not flushed. POSIX semaphores are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3116.
* posix: Optimize pthread_once_tSebastian Huber2017-10-051-4/+1
| | | | | | Reduce size of pthread_once_t and make it zero-initialized. Update #3142.
* posix: Fix aio_cancel()Sebastian Huber2017-10-041-1/+1
| | | | Update #3164.
* posix: Remove superfluous includesSebastian Huber2017-09-278-57/+18
|
* posix: Remove superfluous includesSebastian Huber2017-09-272-14/+8
|