Skip to main content

Module sync

Module sync 

Source

Modules§

broadcast
A multi-producer, multi-consumer broadcast queue. Each sent value is seen by all consumers.
mpsc
A multi-producer, single-consumer queue for sending values between asynchronous tasks.
oneshot
A one-shot channel is used for sending a single message between asynchronous tasks. The channel function is used to create a Sender and Receiver handle pair that form the channel.

Structs§

Arc
A thread-safe reference-counting pointer. ‘Arc’ stands for ‘Atomically Reference Counted’.
Mutex
An asynchronous Mutex-like type.
MutexInfo
One row of C’s epicsMutexShow (epicsMutex.cpp:118-127).
MutexReport
What C prints from one epicsMutexShowAll call: the whole list’s length, then the rows that passed onlyLocked.
Notify
Notifies a single task to wake up.
RwLock
An asynchronous reader-writer lock.

Constants§

MUTEX_OSD_LABEL
See MUTEX_OSD_LABEL.

Functions§

is_pi_mutex_active
Diagnostic — true when the PI variant is active in this build.
mutex_report
Every EPICS mutex in the process, filtered as C’s onlyLocked filters — epicsMutexShowAll’s list walk.
osd_show_all_line
C epicsMutexOsdShowAll (os/posix/osdMutex.c:197-210), the line epicsMutexShowAll prints between the count and the rows.
report_lock_protocol
Print, once at boot, which lock protocol this process actually obtained.

Type Aliases§

PriorityInheritanceMutex
C epicsMutexId — the mutex every EPICS lock in this port is built from, and the only one epicsMutexShowAll can see.
PriorityInheritanceMutexGuard
See PriorityInheritanceMutexGuardparking_lot’s guard is already !Send for the same reason.