mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
Allow NULL queue to writev_send
This commit is contained in:
parent
8c39931eb3
commit
1a69ba8945
@ -337,11 +337,11 @@ struct tevent_req *writev_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
|
||||
struct tevent_queue *queue, int fd,
|
||||
struct iovec *iov, int count)
|
||||
{
|
||||
struct tevent_req *result;
|
||||
struct tevent_req *req;
|
||||
struct writev_state *state;
|
||||
|
||||
result = tevent_req_create(mem_ctx, &state, struct writev_state);
|
||||
if (result == NULL) {
|
||||
req = tevent_req_create(mem_ctx, &state, struct writev_state);
|
||||
if (req == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
state->ev = ev;
|
||||
@ -354,12 +354,22 @@ struct tevent_req *writev_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (!tevent_queue_add(queue, ev, result, writev_trigger, NULL)) {
|
||||
if (queue == NULL) {
|
||||
struct tevent_fd *fde;
|
||||
fde = tevent_add_fd(state->ev, state, state->fd,
|
||||
TEVENT_FD_WRITE, writev_handler, req);
|
||||
if (tevent_req_nomem(fde, req)) {
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
return req;
|
||||
}
|
||||
|
||||
if (!tevent_queue_add(queue, ev, req, writev_trigger, NULL)) {
|
||||
goto fail;
|
||||
}
|
||||
return result;
|
||||
return req;
|
||||
fail:
|
||||
TALLOC_FREE(result);
|
||||
TALLOC_FREE(req);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user