diff options
author | Volker Lendecke <vl@sernet.de> | 2008-12-01 08:23:35 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-12-08 22:09:33 +0100 |
commit | 7fbb64d726f23da49cd2f07e1a678ed575b70bfa (patch) | |
tree | 8b58be1fa57d5763f4b6be67105f05aeae644072 /source3/libsmb/clireadwrite.c | |
parent | f9aa69ae352f7f441b04976575b96ecc8b844dbd (diff) | |
download | samba-7fbb64d726f23da49cd2f07e1a678ed575b70bfa.tar.gz samba-7fbb64d726f23da49cd2f07e1a678ed575b70bfa.tar.bz2 samba-7fbb64d726f23da49cd2f07e1a678ed575b70bfa.zip |
Simplify async programming a bit with helper routines
Introduce async_req_is_error() and async_req_simple_recv()
Diffstat (limited to 'source3/libsmb/clireadwrite.c')
-rw-r--r-- | source3/libsmb/clireadwrite.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c index cc982683d0..ecf49396d1 100644 --- a/source3/libsmb/clireadwrite.c +++ b/source3/libsmb/clireadwrite.c @@ -112,9 +112,8 @@ NTSTATUS cli_read_andx_recv(struct async_req *req, ssize_t *received, NTSTATUS status; size_t size; - SMB_ASSERT(req->state >= ASYNC_REQ_DONE); - if (req->state == ASYNC_REQ_ERROR) { - return req->status; + if (async_req_is_error(req, &status)) { + return status; } status = cli_pull_reply(req, &wct, &vwv, &num_bytes, &bytes); @@ -405,10 +404,10 @@ NTSTATUS cli_pull_recv(struct async_req *req, SMB_OFF_T *received) { struct cli_pull_state *state = talloc_get_type_abort( req->private_data, struct cli_pull_state); + NTSTATUS status; - SMB_ASSERT(req->state >= ASYNC_REQ_DONE); - if (req->state == ASYNC_REQ_ERROR) { - return req->status; + if (async_req_is_error(req, &status)) { + return status; } *received = state->pushed; return NT_STATUS_OK; |