diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-01-23 12:17:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:09:08 -0500 |
commit | 6c14b0133dede38294a812be7f5f5bd5ec3d498b (patch) | |
tree | 6b60ad912d6ff06e1624580ba6e8cbeda3341d1b /source4/libcli | |
parent | fd62df64188c0f992876c72fdda8a6da5dba3090 (diff) | |
download | samba-6c14b0133dede38294a812be7f5f5bd5ec3d498b.tar.gz samba-6c14b0133dede38294a812be7f5f5bd5ec3d498b.tar.bz2 samba-6c14b0133dede38294a812be7f5f5bd5ec3d498b.zip |
r4944: every event_add_*() caller was having to call talloc_steal() to take
control of the event, so instead build that into the function. If you
pass NULL as mem_ctx then it leaves it as a child of the events
structure.
(This used to be commit 7f981b9ed96f39027cbfd500f41e0c2be64cbb50)
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/nbt/nbtsocket.c | 7 | ||||
-rw-r--r-- | source4/libcli/raw/clisocket.c | 3 | ||||
-rw-r--r-- | source4/libcli/raw/clitransport.c | 4 | ||||
-rw-r--r-- | source4/libcli/resolve/host.c | 3 |
4 files changed, 6 insertions, 11 deletions
diff --git a/source4/libcli/nbt/nbtsocket.c b/source4/libcli/nbt/nbtsocket.c index d970f8e4e0..1eea77d356 100644 --- a/source4/libcli/nbt/nbtsocket.c +++ b/source4/libcli/nbt/nbtsocket.c @@ -266,9 +266,7 @@ struct nbt_name_socket *nbt_name_socket_init(TALLOC_CTX *mem_ctx, fde.flags = 0; fde.handler = nbt_name_socket_handler; fde.private = nbtsock; - nbtsock->fde = event_add_fd(nbtsock->event_ctx, &fde); - - talloc_steal(nbtsock, nbtsock->fde); + nbtsock->fde = event_add_fd(nbtsock->event_ctx, &fde, nbtsock); return nbtsock; @@ -344,8 +342,7 @@ struct nbt_name_request *nbt_name_request_send(struct nbt_name_socket *nbtsock, te.next_event = timeout; te.handler = nbt_name_socket_timeout; te.private = req; - req->te = event_add_timed(nbtsock->event_ctx, &te); - talloc_steal(req, req->te); + req->te = event_add_timed(nbtsock->event_ctx, &te, req); talloc_set_destructor(req, nbt_name_request_destructor); diff --git a/source4/libcli/raw/clisocket.c b/source4/libcli/raw/clisocket.c index 847f5c1b0a..c9934fa16d 100644 --- a/source4/libcli/raw/clisocket.c +++ b/source4/libcli/raw/clisocket.c @@ -138,8 +138,7 @@ static NTSTATUS smbcli_sock_connect_one(struct smbcli_socket *sock, fde.handler = smbcli_sock_connect_handler; fde.private = sock; - sock->event.fde = event_add_fd(sock->event.ctx, &fde); - talloc_steal(sock, sock->event.fde); + sock->event.fde = event_add_fd(sock->event.ctx, &fde, sock); sock->port = port; set_blocking(fde.fd, False); diff --git a/source4/libcli/raw/clitransport.c b/source4/libcli/raw/clitransport.c index b053b362ca..e3a8281f3f 100644 --- a/source4/libcli/raw/clitransport.c +++ b/source4/libcli/raw/clitransport.c @@ -321,8 +321,8 @@ void smbcli_transport_idle_handler(struct smbcli_transport *transport, te.next_event = timeval_current_ofs(0, period); te.handler = idle_handler; te.private = transport; - transport->socket->event.te = event_add_timed(transport->socket->event.ctx, &te); - talloc_steal(transport, transport->socket->event.te); + transport->socket->event.te = event_add_timed(transport->socket->event.ctx, + &te, transport); } /* diff --git a/source4/libcli/resolve/host.c b/source4/libcli/resolve/host.c index b9aa1aa272..5b28a850fc 100644 --- a/source4/libcli/resolve/host.c +++ b/source4/libcli/resolve/host.c @@ -165,13 +165,12 @@ struct smbcli_composite *resolve_name_host_send(struct nbt_name *name, fde.flags = EVENT_FD_READ; fde.handler = pipe_handler; fde.private = c; - state->fde = event_add_fd(c->event_ctx, &fde); + state->fde = event_add_fd(c->event_ctx, &fde, state); if (state->fde == NULL) { close(fd[0]); close(fd[1]); goto failed; } - talloc_steal(state, state->fde); /* signal handling in posix really sucks - doing this in a library affects the whole app, but what else to do?? */ |