mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
Expand cpuworker API to allow other work types
This commit is contained in:
parent
222122450c
commit
b022ea32a6
@ -16,7 +16,7 @@ typedef struct threadpool_s threadpool_t;
|
||||
typedef struct workqueue_entry_s workqueue_entry_t;
|
||||
|
||||
/** Possible return value from a work function: */
|
||||
typedef enum {
|
||||
typedef enum workqueue_reply_t {
|
||||
WQ_RPL_REPLY = 0, /** indicates success */
|
||||
WQ_RPL_ERROR = 1, /** indicates fatal error */
|
||||
WQ_RPL_SHUTDOWN = 2, /** indicates thread is shutting down */
|
||||
|
@ -479,6 +479,20 @@ queue_pending_tasks(void)
|
||||
}
|
||||
}
|
||||
|
||||
/** DOCDOC */
|
||||
workqueue_entry_t *
|
||||
cpuworker_queue_work(workqueue_reply_t (*fn)(void *, void *),
|
||||
void (*reply_fn)(void *),
|
||||
void *arg)
|
||||
{
|
||||
tor_assert(threadpool);
|
||||
|
||||
return threadpool_queue_work(threadpool,
|
||||
fn,
|
||||
reply_fn,
|
||||
arg);
|
||||
}
|
||||
|
||||
/** Try to tell a cpuworker to perform the public key operations necessary to
|
||||
* respond to <b>onionskin</b> for the circuit <b>circ</b>.
|
||||
*
|
||||
|
@ -14,6 +14,12 @@
|
||||
|
||||
void cpu_init(void);
|
||||
void cpuworkers_rotate_keyinfo(void);
|
||||
struct workqueue_entry_s;
|
||||
enum workqueue_reply_t;
|
||||
struct workqueue_entry_s *cpuworker_queue_work(
|
||||
enum workqueue_reply_t (*fn)(void *, void *),
|
||||
void (*reply_fn)(void *),
|
||||
void *arg);
|
||||
|
||||
struct create_cell_t;
|
||||
int assign_onionskin_to_cpuworker(or_circuit_t *circ,
|
||||
|
Loading…
Reference in New Issue
Block a user