diff options
Diffstat (limited to 'source4/smbd')
-rw-r--r-- | source4/smbd/process_prefork.c | 24 | ||||
-rw-r--r-- | source4/smbd/process_single.c | 11 |
2 files changed, 12 insertions, 23 deletions
diff --git a/source4/smbd/process_prefork.c b/source4/smbd/process_prefork.c index 9f975b4641..ab4a89bd26 100644 --- a/source4/smbd/process_prefork.c +++ b/source4/smbd/process_prefork.c @@ -58,26 +58,26 @@ static void prefork_model_init(struct event_context *ev) called when a listening socket becomes readable. */ static void prefork_accept_connection(struct event_context *ev, - struct loadparm_context *lp_ctx, - struct socket_context *sock, + struct loadparm_context *lp_ctx, + struct socket_context *listen_socket, void (*new_conn)(struct event_context *, struct loadparm_context *, struct socket_context *, struct server_id , void *), void *private) { NTSTATUS status; - struct socket_context *sock2; + struct socket_context *connected_socket; pid_t pid = getpid(); /* accept an incoming connection. */ - status = socket_accept(sock, &sock2); + status = socket_accept(listen_socket, &connected_socket); if (!NT_STATUS_IS_OK(status)) { return; } - talloc_steal(private, sock); + talloc_steal(private, connected_socket); - new_conn(ev, lp_ctx, sock2, cluster_id(pid, socket_get_fd(sock2)), private); + new_conn(ev, lp_ctx, connected_socket, cluster_id(pid, socket_get_fd(connected_socket)), private); } /* @@ -184,18 +184,6 @@ static void prefork_new_task(struct event_context *ev, _NORETURN_ static void prefork_terminate(struct event_context *ev, const char *reason) { DEBUG(2,("prefork_terminate: reason[%s]\n",reason)); - - /* this reload_charcnv() has the effect of freeing the iconv context memory, - which makes leak checking easier */ - reload_charcnv(global_loadparm); - - /* the secrets db should really hang off the connection structure */ - secrets_shutdown(); - - talloc_free(ev); - - /* terminate this process */ - exit(0); } /* called to set a title of a task or connection */ diff --git a/source4/smbd/process_single.c b/source4/smbd/process_single.c index 2d3c94ca6d..a7a27ef9e0 100644 --- a/source4/smbd/process_single.c +++ b/source4/smbd/process_single.c @@ -38,7 +38,7 @@ static void single_model_init(struct event_context *ev) */ static void single_accept_connection(struct event_context *ev, struct loadparm_context *lp_ctx, - struct socket_context *sock, + struct socket_context *listen_socket, void (*new_conn)(struct event_context *, struct loadparm_context *, struct socket_context *, @@ -46,10 +46,10 @@ static void single_accept_connection(struct event_context *ev, void *private) { NTSTATUS status; - struct socket_context *sock2; + struct socket_context *connected_socket; /* accept an incoming connection. */ - status = socket_accept(sock, &sock2); + status = socket_accept(listen_socket, &connected_socket); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("single_accept_connection: accept: %s\n", nt_errstr(status))); /* this looks strange, but is correct. @@ -67,11 +67,12 @@ static void single_accept_connection(struct event_context *ev, return; } - talloc_steal(private, sock); + talloc_steal(private, connected_socket); /* The cluster_id(0, fd) cannot collide with the incrementing * task below, as the first component is 0, not 1 */ - new_conn(ev, lp_ctx, sock2, cluster_id(0, socket_get_fd(sock2)), private); + new_conn(ev, lp_ctx, connected_socket, + cluster_id(0, socket_get_fd(connected_socket)), private); } /* |