ChibiOS  21.6.0
chdelegates.c File Reference

Delegate threads code. More...

#include "ch.h"

Go to the source code of this file.

Functions

msg_t __ch_delegate_fn0 (va_list *argsp)
 Veneer for functions with no parameters. More...
 
msg_t __ch_delegate_fn1 (va_list *argsp)
 Veneer for functions with one parameter. More...
 
msg_t __ch_delegate_fn2 (va_list *argsp)
 Veneer for functions with two parameters. More...
 
msg_t __ch_delegate_fn3 (va_list *argsp)
 Veneer for functions with three parameters. More...
 
msg_t __ch_delegate_fn4 (va_list *argsp)
 Veneer for functions with four parameters. More...
 
msg_t chDelegateCallVeneer (thread_t *tp, delegate_veneer_t veneer,...)
 Triggers a function call on a delegate thread. More...
 
void chDelegateDispatch (void)
 Call messages dispatching. More...
 
msg_t chDelegateDispatchTimeout (sysinterval_t timeout)
 Call messages dispatching with timeout. More...
 

Detailed Description

Delegate threads code.

Delegate threads.

Operation mode

A delegate thread is a thread performing function calls triggered by other threads. This functionality is especially useful when encapsulating a library not designed for threading into a delegate thread. Other threads have access to the library without having to worry about mutual exclusion.

Precondition
In order to use the pipes APIs the CH_CFG_USE_DELEGATES option must be enabled in chconf.h.
Note
Compatible with RT and NIL.

Definition in file chdelegates.c.