summaryrefslogtreecommitdiff
path: root/source3/lib/async_req.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-12-16 11:41:20 +1100
committerAndrew Tridgell <tridge@samba.org>2008-12-16 11:41:20 +1100
commitf448fde4e35e56508ad93be8de9f60d88e8b8dcd (patch)
tree597b58ba1af03f5250af918ec15300c385281706 /source3/lib/async_req.c
parenta226d86dcec393b2cd657d5441c3041dfdf5cd8f (diff)
parent530758dc2a6dd6dce083789b328e16e51ba6573d (diff)
downloadsamba-f448fde4e35e56508ad93be8de9f60d88e8b8dcd.tar.gz
samba-f448fde4e35e56508ad93be8de9f60d88e8b8dcd.tar.bz2
samba-f448fde4e35e56508ad93be8de9f60d88e8b8dcd.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3/lib/async_req.c')
-rw-r--r--source3/lib/async_req.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/source3/lib/async_req.c b/source3/lib/async_req.c
index 501a6b5524..159666f15c 100644
--- a/source3/lib/async_req.c
+++ b/source3/lib/async_req.c
@@ -172,3 +172,26 @@ bool async_req_nomem(const void *p, struct async_req *req)
async_req_error(req, NT_STATUS_NO_MEMORY);
return true;
}
+
+bool async_req_is_error(struct async_req *req, NTSTATUS *status)
+{
+ if (req->state < ASYNC_REQ_DONE) {
+ *status = NT_STATUS_INTERNAL_ERROR;
+ return true;
+ }
+ if (req->state == ASYNC_REQ_ERROR) {
+ *status = req->status;
+ return true;
+ }
+ return false;
+}
+
+NTSTATUS async_req_simple_recv(struct async_req *req)
+{
+ NTSTATUS status;
+
+ if (async_req_is_error(req, &status)) {
+ return status;
+ }
+ return NT_STATUS_OK;
+}