mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
fixed several places that unnecessarily take a reference to the event context
These references were triggering the ambiguous talloc_free errors from the recent talloc changes when the server is run using the 'standard' process model instead of the 'single' process model. I am aiming to move the build farm to use the 'standard' process model soon, as part of an effort to make our test environment better match the real deployment of Samba4. The references are not needed as the way that the event context is used is as the 'top parent', so when the event context is freed then all of the structures that were taking a reference to the event context were actually freed as well, thus making the references redundent.
This commit is contained in:
parent
238bf25af4
commit
e2d4ae1510
@ -244,10 +244,6 @@ static int samldb_search_template(struct samldb_ctx *ac)
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
|
||||
if (!talloc_reference(templates_ldb, ev)) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
|
||||
ret = ldb_set_opaque(ldb,
|
||||
"templates_ldb", templates_ldb);
|
||||
if (ret != LDB_SUCCESS) {
|
||||
|
@ -596,7 +596,7 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx,
|
||||
/* it needs to be non blocking for sends */
|
||||
set_blocking(socket_get_fd(msg->sock), false);
|
||||
|
||||
msg->event.ev = talloc_reference(msg, ev);
|
||||
msg->event.ev = ev;
|
||||
msg->event.fde = event_add_fd(ev, msg, socket_get_fd(msg->sock),
|
||||
EVENT_FD_READ, messaging_handler, msg);
|
||||
|
||||
|
@ -42,11 +42,7 @@ _PUBLIC_ struct composite_context *composite_create(TALLOC_CTX *mem_ctx,
|
||||
c = talloc_zero(mem_ctx, struct composite_context);
|
||||
if (!c) return NULL;
|
||||
c->state = COMPOSITE_STATE_IN_PROGRESS;
|
||||
c->event_ctx = talloc_reference(c, ev);
|
||||
if (!c->event_ctx) {
|
||||
talloc_free(c);
|
||||
return NULL;
|
||||
}
|
||||
c->event_ctx = ev;
|
||||
|
||||
return c;
|
||||
}
|
||||
|
@ -166,7 +166,7 @@ struct nbt_dgram_socket *nbt_dgram_socket_init(TALLOC_CTX *mem_ctx,
|
||||
dgmsock = talloc(mem_ctx, struct nbt_dgram_socket);
|
||||
if (dgmsock == NULL) goto failed;
|
||||
|
||||
dgmsock->event_ctx = talloc_reference(dgmsock, event_ctx);
|
||||
dgmsock->event_ctx = event_ctx;
|
||||
if (dgmsock->event_ctx == NULL) goto failed;
|
||||
|
||||
status = socket_create("ip", SOCKET_TYPE_DGRAM, &dgmsock->sock, 0);
|
||||
|
@ -61,7 +61,7 @@ struct composite_context *smbcli_sock_connect_send(TALLOC_CTX *mem_ctx,
|
||||
if (result == NULL) goto failed;
|
||||
result->state = COMPOSITE_STATE_IN_PROGRESS;
|
||||
|
||||
result->event_ctx = talloc_reference(result, event_ctx);
|
||||
result->event_ctx = event_ctx;
|
||||
if (result->event_ctx == NULL) goto failed;
|
||||
|
||||
state = talloc(result, struct sock_connect_state);
|
||||
@ -118,8 +118,7 @@ static void smbcli_sock_connect_recv_conn(struct composite_context *ctx)
|
||||
state->result->port = port;
|
||||
state->result->hostname = talloc_steal(sock, state->host_name);
|
||||
|
||||
state->result->event.ctx =
|
||||
talloc_reference(state->result, state->ctx->event_ctx);
|
||||
state->result->event.ctx = state->ctx->event_ctx;
|
||||
if (composite_nomem(state->result->event.ctx, state->ctx)) return;
|
||||
|
||||
composite_done(state->ctx);
|
||||
|
@ -466,7 +466,7 @@ struct composite_context *smb_composite_connect_send(struct smb_composite_connec
|
||||
c = talloc_zero(mem_ctx, struct composite_context);
|
||||
if (c == NULL) goto failed;
|
||||
|
||||
c->event_ctx = talloc_reference(c, event_ctx);
|
||||
c->event_ctx = event_ctx;
|
||||
if (c->event_ctx == NULL) goto failed;
|
||||
|
||||
state = talloc_zero(c, struct connect_state);
|
||||
|
@ -171,7 +171,7 @@ struct wrepl_socket *wrepl_socket_init(TALLOC_CTX *mem_ctx,
|
||||
wrepl_socket = talloc_zero(mem_ctx, struct wrepl_socket);
|
||||
if (!wrepl_socket) return NULL;
|
||||
|
||||
wrepl_socket->event.ctx = talloc_reference(wrepl_socket, event_ctx);
|
||||
wrepl_socket->event.ctx = event_ctx;
|
||||
if (!wrepl_socket->event.ctx) goto failed;
|
||||
|
||||
wrepl_socket->iconv_convenience = iconv_convenience;
|
||||
@ -205,7 +205,7 @@ struct wrepl_socket *wrepl_socket_merge(TALLOC_CTX *mem_ctx,
|
||||
wrepl_socket = talloc_zero(mem_ctx, struct wrepl_socket);
|
||||
if (wrepl_socket == NULL) goto failed;
|
||||
|
||||
wrepl_socket->event.ctx = talloc_reference(wrepl_socket, event_ctx);
|
||||
wrepl_socket->event.ctx = event_ctx;
|
||||
if (wrepl_socket->event.ctx == NULL) goto failed;
|
||||
|
||||
wrepl_socket->sock = sock;
|
||||
|
@ -67,7 +67,7 @@ static struct dcerpc_connection *dcerpc_connection_init(TALLOC_CTX *mem_ctx,
|
||||
|
||||
c->iconv_convenience = talloc_reference(c, ic);
|
||||
|
||||
c->event_ctx = talloc_reference(c, ev);
|
||||
c->event_ctx = ev;
|
||||
|
||||
if (c->event_ctx == NULL) {
|
||||
talloc_free(c);
|
||||
|
@ -94,7 +94,7 @@ struct composite_context *wins_challenge_send(TALLOC_CTX *mem_ctx, struct wins_c
|
||||
result = talloc_zero(mem_ctx, struct composite_context);
|
||||
if (result == NULL) return NULL;
|
||||
result->state = COMPOSITE_STATE_IN_PROGRESS;
|
||||
result->event_ctx = talloc_reference(result, io->in.event_ctx);
|
||||
result->event_ctx = io->in.event_ctx;
|
||||
|
||||
state = talloc_zero(result, struct wins_challenge_state);
|
||||
if (state == NULL) goto failed;
|
||||
@ -204,7 +204,7 @@ static struct composite_context *wins_release_demand_send(TALLOC_CTX *mem_ctx, s
|
||||
result = talloc_zero(mem_ctx, struct composite_context);
|
||||
if (result == NULL) return NULL;
|
||||
result->state = COMPOSITE_STATE_IN_PROGRESS;
|
||||
result->event_ctx = talloc_reference(result, io->in.event_ctx);
|
||||
result->event_ctx = io->in.event_ctx;
|
||||
|
||||
state = talloc_zero(result, struct wins_release_demand_state);
|
||||
if (state == NULL) goto failed;
|
||||
|
Loading…
x
Reference in New Issue
Block a user