From caf8c6a76be051559ffcfe97084edca43e0a3cee Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 30 Jan 2007 22:22:06 +0000 Subject: r21064: The core of this patch is void message_register(int msg_type, void (*fn)(int msg_type, struct process_id pid, - void *buf, size_t len)) + void *buf, size_t len, + void *private_data), + void *private_data) { struct dispatch_fns *dfn; So this adds a (so far unused) private pointer that is passed from message_register to the message handler. A prerequisite to implement a tiny samba4-API compatible wrapper around our messaging system. That itself is necessary for the Samba4 notify system. Yes, I know, I could import the whole Samba4 messaging system, but I want to do it step by step and I think getting notify in is more important in this step. Volker (This used to be commit c8ae60ed65dcce9660ee39c75488f2838cf9a28b) --- source3/smbd/server.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'source3/smbd/server.c') diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 0bb4ad5b04..dcb685511b 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -76,7 +76,7 @@ struct event_context *smbd_event_context(void) ********************************************************************/ static void smb_conf_updated(int msg_type, struct process_id src, - void *buf, size_t len) + void *buf, size_t len, void *private_data) { DEBUG(10,("smb_conf_updated: Got message saying smb.conf was updated. Reloading.\n")); reload_services(False); @@ -88,7 +88,7 @@ static void smb_conf_updated(int msg_type, struct process_id src, ********************************************************************/ static void smb_stat_cache_delete(int msg_type, struct process_id src, - void *buf, size_t len) + void *buf, size_t len, void *private_data) { const char *name = (const char *)buf; DEBUG(10,("smb_stat_cache_delete: delete name %s\n", name)); @@ -139,7 +139,8 @@ static void killkids(void) ****************************************************************************/ static void msg_sam_sync(int UNUSED(msg_type), struct process_id UNUSED(pid), - void *UNUSED(buf), size_t UNUSED(len)) + void *UNUSED(buf), size_t UNUSED(len), + void *private_data) { DEBUG(10, ("** sam sync message received, ignoring\n")); } @@ -150,7 +151,7 @@ static void msg_sam_sync(int UNUSED(msg_type), struct process_id UNUSED(pid), ****************************************************************************/ static void msg_sam_repl(int msg_type, struct process_id pid, - void *buf, size_t len) + void *buf, size_t len, void *private_data) { uint32 low_serial; @@ -184,7 +185,7 @@ static BOOL open_sockets_inetd(void) } static void msg_exit_server(int msg_type, struct process_id src, - void *buf, size_t len) + void *buf, size_t len, void *private_data) { DEBUG(3, ("got a SHUTDOWN message\n")); exit_server_cleanly(NULL); @@ -192,7 +193,7 @@ static void msg_exit_server(int msg_type, struct process_id src, #ifdef DEVELOPER static void msg_inject_fault(int msg_type, struct process_id src, - void *buf, size_t len) + void *buf, size_t len, void *private_data) { int sig; @@ -429,15 +430,16 @@ static BOOL open_sockets_smbd(BOOL is_daemon, BOOL interactive, const char *smb_ /* Listen to messages */ - message_register(MSG_SMB_SAM_SYNC, msg_sam_sync); - message_register(MSG_SMB_SAM_REPL, msg_sam_repl); - message_register(MSG_SHUTDOWN, msg_exit_server); - message_register(MSG_SMB_FILE_RENAME, msg_file_was_renamed); - message_register(MSG_SMB_CONF_UPDATED, smb_conf_updated); - message_register(MSG_SMB_STAT_CACHE_DELETE, smb_stat_cache_delete); + message_register(MSG_SMB_SAM_SYNC, msg_sam_sync, NULL); + message_register(MSG_SMB_SAM_REPL, msg_sam_repl, NULL); + message_register(MSG_SHUTDOWN, msg_exit_server, NULL); + message_register(MSG_SMB_FILE_RENAME, msg_file_was_renamed, NULL); + message_register(MSG_SMB_CONF_UPDATED, smb_conf_updated, NULL); + message_register(MSG_SMB_STAT_CACHE_DELETE, smb_stat_cache_delete, + NULL); #ifdef DEVELOPER - message_register(MSG_SMB_INJECT_FAULT, msg_inject_fault); + message_register(MSG_SMB_INJECT_FAULT, msg_inject_fault, NULL); #endif /* now accept incoming connections - forking a new process @@ -1097,7 +1099,7 @@ extern void build_options(BOOL screen); TimeInit(); /* register our message handlers */ - message_register(MSG_SMB_FORCE_TDIS, msg_force_tdis); + message_register(MSG_SMB_FORCE_TDIS, msg_force_tdis, NULL); smbd_process(); -- cgit