diff options
author | Volker Lendecke <vl@samba.org> | 2009-01-18 16:38:30 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-01-18 16:45:07 +0100 |
commit | 0dbd3968626445b4dcb00307e45206b37dd0e8ad (patch) | |
tree | 79ffe7396e8af5c52593509df3877c545970d2b3 /source3/lib/async_req.c | |
parent | c45b6ec29a5b3a39b83209e970b645e5ed0a411c (diff) | |
download | samba-0dbd3968626445b4dcb00307e45206b37dd0e8ad.tar.gz samba-0dbd3968626445b4dcb00307e45206b37dd0e8ad.tar.bz2 samba-0dbd3968626445b4dcb00307e45206b37dd0e8ad.zip |
Add a macro async_req_setup()
This streamlines setting up a multi-step async request a bit
Diffstat (limited to 'source3/lib/async_req.c')
-rw-r--r-- | source3/lib/async_req.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source3/lib/async_req.c b/source3/lib/async_req.c index 13b64ba79a..011948a158 100644 --- a/source3/lib/async_req.c +++ b/source3/lib/async_req.c @@ -313,3 +313,28 @@ bool async_req_enqueue(struct async_req_queue *queue, struct event_context *ev, return true; } + +bool _async_req_setup(TALLOC_CTX *mem_ctx, struct async_req **preq, + void *pstate, size_t state_size, const char *typename) +{ + struct async_req *req; + void **ppstate = (void **)pstate; + void *state; + + req = async_req_new(mem_ctx); + if (req == NULL) { + return false; + } + state = talloc_size(req, state_size); + if (state == NULL) { + TALLOC_FREE(req); + return false; + } + talloc_set_name(state, typename); + req->private_data = state; + + *preq = req; + *ppstate = state; + + return true; +} |