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.