Commit Graph

9 Commits

Author SHA1 Message Date
Philippe Gerum 928717d5cc tree: convert to evl_set/clear_thread_mode()
Signed-off-by: Philippe Gerum <rpm@xenomai.org>
2020-04-23 14:31:03 +02:00
Philippe Gerum db712cc191 lib: rename evl_udelay() to evl_usleep()
evl_udelay() was an annoying misnomer for people with kernel
development background, as this relates to a busy wait loop, not to a
sleeping call, which evl_udelay() actually was.

Rename this call to evl_usleep(), converging to the glibc signature
for usleep(3) in the same move.
2020-01-21 14:52:21 +01:00
Philippe Gerum 4190e92a2a tests: monitor-event: disable WOLI to enable scenario 2019-10-31 14:02:44 +01:00
Philippe Gerum bed2532942 lib/event: introduce compact creation calls
Events timed on the monotonic clock is the most common form used by
applications. Allow people to write more compact code by providing
creation calls and static initializers aimed at building these
directly:

- evl_new_event(), EVL_EVENT_INITIALIZER() for events timed on the
  monotonic clock.

- evl_new_event_any() and EVL_EVENT_ANY_INITIALIZER() usable for
  specifying the clock.
2019-08-19 12:25:18 +02:00
Philippe Gerum a7a084ea15 lib/sem: introduce compact creation calls
Zero-initialized semaphores timed on the monotonic clock is the
most common form used by applications. Allow people to write more
compact code by providing creation calls and static initializers aimed
at building these directly:

- evl_new_sem(), EVL_SEM_INITIALIZER() for zero-init semaphores
  timed on the monotonic clock.

- evl_new_sem_any() and EVL_SEM_ANY_INITIALIZER() usable for any
  initialization form, specifying the clock and init value.
2019-08-19 10:22:49 +02:00
Philippe Gerum bdc3aab501 lib/mutex: introduce compact creation calls
Normal (i.e. non-recursive) mutexes timed on the monotonic clock are
the most common form of locks used by applications. Allow people to
write more compact code by providing creation calls and static
initializers aimed at building these directly:

- evl_new_mutex(), EVL_MUTEX_INITIALIZER() for PI locks timed on the
  monotonic clock.

- evl_new_mutex_any() and EVL_MUTEX_ANY_INITIALIZER() for building any
  supported type of lock (normal/recursive), specifying the protocol
  (PI/PP) and the base clock.
2019-08-19 10:22:49 +02:00
Philippe Gerum a6044094db lib/mutex: add support for recursive type 2019-08-18 16:30:47 +02:00
Philippe Gerum f052b6d31c eshi: EVL shim library
The EVL shim library mimics the behavior of the original EVL API based
on plain POSIX calls from the native *libc, which does not require the
EVL core to be enabled in the host kernel. It is useful when the
real-time guarantees delivered by the EVL core are not required for
quick prototyping or debugging application code.
2019-08-09 19:07:39 +02:00
Philippe Gerum 897bfa8135 tests: monitor as gated event 2019-06-16 19:22:15 +02:00