forked from owntone/owntone-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathworker.h
28 lines (22 loc) · 930 Bytes
/
worker.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef __WORKER_H__
#define __WORKER_H__
/* The worker thread is made for running asyncronous tasks from a real time
* thread, mainly the player thread.
* The worker_execute() function will trigger a callback from the worker thread.
* Before returning the function will copy the argument given, so the caller
* does not need to preserve them. However, if the argument contains pointers to
* data, the caller must either make sure that the data remains valid until the
* callback (which can free it), or make sure the callback does not refer to it.
*
* @param cb the function to call from the worker thread
* @param cb_arg arguments for callback
* @param arg_size size of the arguments given
* @param delay how much in seconds to delay the execution
*/
void
worker_execute(void (*cb)(void *), void *cb_arg, size_t arg_size, int delay);
int
worker_init(void);
void
worker_deinit(void);
#endif /* !__WORKER_H__ */