The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
Synchronous interpreter. More...
Go to the source code of this file.
Data Structures | |
struct | unlang_interpret_synchronous_t |
Functions | |
static void | _request_detach (request_t *request, UNUSED void *uctx) |
We don't need to do anything for internal -> detached. More... | |
static void | _request_done_detached (request_t *request, UNUSED rlm_rcode_t rcode, UNUSED void *uctx) |
static void | _request_done_external (request_t *request, UNUSED rlm_rcode_t rcode, UNUSED void *uctx) |
External request is now complete. More... | |
static void | _request_done_internal (request_t *request, UNUSED rlm_rcode_t rcode, UNUSED void *uctx) |
Internal request (i.e. More... | |
static void | _request_init_internal (request_t *request, void *uctx) |
Internal request (i.e. More... | |
static void | _request_resume (request_t *request, UNUSED void *uctx) |
Interpreter is starting to work on request again. More... | |
static void | _request_runnable (request_t *request, void *uctx) |
Request is now runnable. More... | |
static bool | _request_scheduled (request_t const *request, UNUSED void *uctx) |
static void | _request_stop (request_t *request, void *uctx) |
Request has been stopped. More... | |
static void | _request_yield (request_t *request, void *uctx) |
Interpreter yielded request. More... | |
rlm_rcode_t | unlang_interpret_synchronous (fr_event_list_t *el, request_t *request) |
Execute an unlang section synchronously. More... | |
static unlang_interpret_synchronous_t * | unlang_interpret_synchronous_alloc (TALLOC_CTX *ctx, fr_event_list_t *el) |
Allocate a new temporary interpreter. More... | |
Synchronous interpreter.
Definition in file interpret_synchronous.c.
struct unlang_interpret_synchronous_t |
Definition at line 29 of file interpret_synchronous.c.
Data Fields | ||
---|---|---|
fr_event_list_t * | el | |
unlang_interpret_t * | intp | |
fr_heap_t * | runnable | |
int | yielded |
We don't need to do anything for internal -> detached.
Definition at line 101 of file interpret_synchronous.c.
|
static |
|
static |
External request is now complete.
Definition at line 51 of file interpret_synchronous.c.
|
static |
Internal request (i.e.
one generated by the interpreter) is now complete
Definition at line 77 of file interpret_synchronous.c.
|
static |
Internal request (i.e.
one generated by the interpreter) is now complete
Definition at line 39 of file interpret_synchronous.c.
Interpreter is starting to work on request again.
Definition at line 154 of file interpret_synchronous.c.
|
static |
Request is now runnable.
Definition at line 129 of file interpret_synchronous.c.
|
static |
Request has been stopped.
Clean up execution state
Definition at line 112 of file interpret_synchronous.c.
|
static |
Interpreter yielded request.
Definition at line 142 of file interpret_synchronous.c.
rlm_rcode_t unlang_interpret_synchronous | ( | fr_event_list_t * | el, |
request_t * | request | ||
) |
Execute an unlang section synchronously.
Create a temporary event loop and swap it out for the one in the request. Execute unlang operations until we receive a non-yield return code then return.
[in] | el | Event list for the temporary interpreter. If NULL a temporary list will be allocated. |
[in] | request | The current request. |
Definition at line 212 of file interpret_synchronous.c.
|
static |
Allocate a new temporary interpreter.
Definition at line 167 of file interpret_synchronous.c.