svn commit: samba r23172 - in branches: SAMBA_3_0/source/smbd SAMBA_3_0_26/source/smbd

vlendec at samba.org vlendec at samba.org
Mon May 28 12:39:40 GMT 2007


Author: vlendec
Date: 2007-05-28 12:39:39 +0000 (Mon, 28 May 2007)
New Revision: 23172

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23172

Log:
Change shutdown_other_smbds to use connections_traverse instead of
session_traverse.

Modified:
   branches/SAMBA_3_0/source/smbd/session.c
   branches/SAMBA_3_0/source/smbd/sesssetup.c
   branches/SAMBA_3_0_26/source/smbd/session.c
   branches/SAMBA_3_0_26/source/smbd/sesssetup.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/session.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/session.c	2007-05-28 11:38:42 UTC (rev 23171)
+++ branches/SAMBA_3_0/source/smbd/session.c	2007-05-28 12:39:39 UTC (rev 23172)
@@ -202,8 +202,9 @@
 /********************************************************************
 ********************************************************************/
 
-BOOL session_traverse(int (*fn)(TDB_CONTEXT *, TDB_DATA, TDB_DATA, void *),
-		      void *state)
+static BOOL session_traverse(int (*fn)(TDB_CONTEXT *, TDB_DATA, TDB_DATA,
+				       void *),
+			     void *state)
 {
 	if (!session_init()) {
 		DEBUG(3, ("No tdb opened\n"));

Modified: branches/SAMBA_3_0/source/smbd/sesssetup.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/sesssetup.c	2007-05-28 11:38:42 UTC (rev 23171)
+++ branches/SAMBA_3_0/source/smbd/sesssetup.c	2007-05-28 12:39:39 UTC (rev 23172)
@@ -1174,25 +1174,26 @@
  a new session setup with VC==0 is ignored.
 ****************************************************************************/
 
-static int shutdown_other_smbds(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf,
-				void *p)
+static int shutdown_other_smbds(struct db_record *rec,
+				const struct connections_key *key,
+				const struct connections_data *crec,
+				void *private_data)
 {
-	struct sessionid *sessionid = (struct sessionid *)dbuf.dptr;
-	const char *ip = (const char *)p;
+	const char *ip = (const char *)private_data;
 
-	if (!process_exists(sessionid->pid)) {
+	if (!process_exists(crec->pid)) {
 		return 0;
 	}
 
-	if (procid_is_me(&sessionid->pid)) {
+	if (procid_is_me(&crec->pid)) {
 		return 0;
 	}
 
-	if (strcmp(ip, sessionid->ip_addr) != 0) {
+	if (strcmp(ip, crec->addr) != 0) {
 		return 0;
 	}
 
-	messaging_send(smbd_messaging_context(), sessionid->pid, MSG_SHUTDOWN,
+	messaging_send(smbd_messaging_context(), crec->pid, MSG_SHUTDOWN,
 		       &data_blob_null);
 	return 0;
 }
@@ -1205,7 +1206,7 @@
 	invalidate_all_vuids();
 #endif
 	if (lp_reset_on_zero_vc()) {
-		session_traverse(shutdown_other_smbds, client_addr());
+		connections_forall(shutdown_other_smbds, client_addr());
 	}
 }
 

Modified: branches/SAMBA_3_0_26/source/smbd/session.c
===================================================================
--- branches/SAMBA_3_0_26/source/smbd/session.c	2007-05-28 11:38:42 UTC (rev 23171)
+++ branches/SAMBA_3_0_26/source/smbd/session.c	2007-05-28 12:39:39 UTC (rev 23172)
@@ -202,8 +202,9 @@
 /********************************************************************
 ********************************************************************/
 
-BOOL session_traverse(int (*fn)(TDB_CONTEXT *, TDB_DATA, TDB_DATA, void *),
-		      void *state)
+static BOOL session_traverse(int (*fn)(TDB_CONTEXT *, TDB_DATA, TDB_DATA,
+				       void *),
+			     void *state)
 {
 	if (!session_init()) {
 		DEBUG(3, ("No tdb opened\n"));

Modified: branches/SAMBA_3_0_26/source/smbd/sesssetup.c
===================================================================
--- branches/SAMBA_3_0_26/source/smbd/sesssetup.c	2007-05-28 11:38:42 UTC (rev 23171)
+++ branches/SAMBA_3_0_26/source/smbd/sesssetup.c	2007-05-28 12:39:39 UTC (rev 23172)
@@ -1172,25 +1172,26 @@
  a new session setup with VC==0 is ignored.
 ****************************************************************************/
 
-static int shutdown_other_smbds(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf,
-				void *p)
+static int shutdown_other_smbds(struct db_record *rec,
+				const struct connections_key *key,
+				const struct connections_data *crec,
+				void *private_data)
 {
-	struct sessionid *sessionid = (struct sessionid *)dbuf.dptr;
-	const char *ip = (const char *)p;
+	const char *ip = (const char *)private_data;
 
-	if (!process_exists(sessionid->pid)) {
+	if (!process_exists(crec->pid)) {
 		return 0;
 	}
 
-	if (procid_is_me(&sessionid->pid)) {
+	if (procid_is_me(&crec->pid)) {
 		return 0;
 	}
 
-	if (strcmp(ip, sessionid->ip_addr) != 0) {
+	if (strcmp(ip, crec->addr) != 0) {
 		return 0;
 	}
 
-	messaging_send(smbd_messaging_context(), sessionid->pid, MSG_SHUTDOWN,
+	messaging_send(smbd_messaging_context(), crec->pid, MSG_SHUTDOWN,
 		       &data_blob_null);
 	return 0;
 }
@@ -1203,7 +1204,7 @@
 	invalidate_all_vuids();
 #endif
 	if (lp_reset_on_zero_vc()) {
-		session_traverse(shutdown_other_smbds, client_addr());
+		connections_forall(shutdown_other_smbds, client_addr());
 	}
 }
 



More information about the samba-cvs mailing list