diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/libcli/raw/rawrequest.c | 4 | ||||
-rw-r--r-- | source4/librpc/rpc/dcerpc.c | 8 | ||||
-rw-r--r-- | source4/torture/rpc/echo.c | 4 | ||||
-rw-r--r-- | source4/torture/rpc/netlogon.c | 4 |
4 files changed, 15 insertions, 5 deletions
diff --git a/source4/libcli/raw/rawrequest.c b/source4/libcli/raw/rawrequest.c index 51c0c0b925..6536af3072 100644 --- a/source4/libcli/raw/rawrequest.c +++ b/source4/libcli/raw/rawrequest.c @@ -285,7 +285,9 @@ BOOL smbcli_request_receive(struct smbcli_request *req) /* keep receiving packets until this one is replied to */ while (req->state <= SMBCLI_REQUEST_RECV) { - event_loop_once(req->transport->event.ctx); + if (event_loop_once(req->transport->event.ctx) != 0) { + return False; + } } return req->state == SMBCLI_REQUEST_DONE; diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index a4f93973f7..99051e75b6 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -436,7 +436,9 @@ static NTSTATUS full_request(struct dcerpc_pipe *p, while (NT_STATUS_IS_OK(state->status) && state->reply_blob) { struct event_context *ctx = p->transport.event_context(p); - event_loop_once(ctx); + if (event_loop_once(ctx) != 0) { + return NT_STATUS_CONNECTION_DISCONNECTED; + } } return state->status; @@ -882,7 +884,9 @@ NTSTATUS dcerpc_request_recv(struct rpc_request *req, while (req->state == RPC_REQUEST_PENDING) { struct event_context *ctx = dcerpc_event_context(req->p); - event_loop_once(ctx); + if (event_loop_once(ctx) != 0) { + return NT_STATUS_CONNECTION_DISCONNECTED; + } } *stub_data = req->payload; status = req->status; diff --git a/source4/torture/rpc/echo.c b/source4/torture/rpc/echo.c index 925b483288..43c794e040 100644 --- a/source4/torture/rpc/echo.c +++ b/source4/torture/rpc/echo.c @@ -237,7 +237,9 @@ static BOOL test_sleep(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx) ctx = dcerpc_event_context(p); while (total_done < ASYNC_COUNT) { - event_loop_once(ctx); + if (event_loop_once(ctx) != 0) { + return False; + } for (i=0;i<ASYNC_COUNT;i++) { if (done[i] == 0 && req[i]->state == RPC_REQUEST_DONE) { total_done++; diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c index fba39c14c9..6e4f85be40 100644 --- a/source4/torture/rpc/netlogon.c +++ b/source4/torture/rpc/netlogon.c @@ -1706,7 +1706,9 @@ static BOOL test_GetDomainInfo_async(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx) /* even with this flush per request a w2k3 server seems to clag with multiple outstanding requests. bleergh. */ - event_loop_once(dcerpc_event_context(p)); + if (event_loop_once(dcerpc_event_context(p)) != 0) { + return False; + } } for (i=0;i<ASYNC_COUNT;i++) { |