[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-633-g594ff92

Andrew Bartlett abartlet at samba.org
Wed Feb 6 05:15:13 GMT 2008


The branch, v4-0-test has been updated
       via  594ff923295c7420167aa899ec6030de07038625 (commit)
       via  07590d893e993919cf6cb7582310777f534e756f (commit)
      from  16466b543bf8dd35bc79a030696f78598ca82f54 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 594ff923295c7420167aa899ec6030de07038625
Merge: 07590d893e993919cf6cb7582310777f534e756f 16466b543bf8dd35bc79a030696f78598ca82f54
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Feb 6 16:14:09 2008 +1100

    Merge branch 'v4-0-test' of git://git.samba.org/samba into 4-0-abartlet

commit 07590d893e993919cf6cb7582310777f534e756f
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Feb 5 14:51:01 2008 +1100

    Clarify nomaclature of socket names in process_single and process_prefork
    
    Fix talloc_steal in both cases to steal connected socket (from accept)
    onto it's private structure, rather than stealing the bound socket.
    
    Remove termination code from the prefork modal, we want the process to
    still stay around, to serve future clients.
    
    Andrew Bartlett and David Disseldorp

-----------------------------------------------------------------------

Summary of changes:
 source/smbd/process_prefork.c |   24 ++++++------------------
 source/smbd/process_single.c  |   11 ++++++-----
 2 files changed, 12 insertions(+), 23 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/process_prefork.c b/source/smbd/process_prefork.c
index 9f975b4..ab4a89b 100644
--- a/source/smbd/process_prefork.c
+++ b/source/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/source/smbd/process_single.c b/source/smbd/process_single.c
index 2d3c94c..a7a27ef 100644
--- a/source/smbd/process_single.c
+++ b/source/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);
 }
 
 /*


-- 
Samba Shared Repository


More information about the samba-cvs mailing list