Certain RTLinux API functions have restrictions on their use. Some functions may only be called during RTLinux module initialization and cleanup (e.g., rtf_create, rtf_destroy). Other functions may not be used to operate on threads running on processors other than the current one (pthread_make_periodic_np).
The following functions should not be used in interrupt handlers:
| pthread_create |
| pthread_join |
| usleep |
| nanosleep |
| clock_nanosleep |
| pthread_self |
| pthread_exit |
| pthread_mutex_lock |
| pthread_mutex_trylock |
| pthread_cond_wait |
| sem_wait |
| sem_trywait |
| sem_timedwait |
| pthread_wait_np |
| pthread_delete_np |
Any function that may block, excluding pthread_join and pthread_delete_np, should not be used in init_module() or cleanup_module().
Please see individual manual pages for additional information. Except as noted here, or in the individual manual pages, there are no restrictions on the API function usage.
RTLinux supports a subset of the POSIX interface. The following POSIX interface functions are available in this release:
The following group of functions is supported if _POSIX_THREAD_PRIO_PROTECT options is defined:
| pthread_mutexattr_getprotocol |
| pthread_mutexattr_setprotocol |
| pthread_mutexattr_getprioceiling |
| pthread_mutexattr_setprioceiling |
POSIX condition variables:
POSIX semaphores:
| sem_init |
| sem_destroy |
| sem_getvalue |
| sem_wait |
| sem_trywait |
| sem_post |
| sem_timedwait |
©2001 FSMLabs Inc.
All rights reserved.