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()); } }