summaryrefslogtreecommitdiff
path: root/source3/smbd/oplock.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-01-30 22:22:06 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:32 -0500
commitcaf8c6a76be051559ffcfe97084edca43e0a3cee (patch)
treecbab678e47d5174ba24bca915e47992e2b8d8206 /source3/smbd/oplock.c
parentcb916d33f534aef5e3527c41555d32c319345fef (diff)
downloadsamba-caf8c6a76be051559ffcfe97084edca43e0a3cee.tar.gz
samba-caf8c6a76be051559ffcfe97084edca43e0a3cee.tar.bz2
samba-caf8c6a76be051559ffcfe97084edca43e0a3cee.zip
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)
Diffstat (limited to 'source3/smbd/oplock.c')
-rw-r--r--source3/smbd/oplock.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 1f73ea837d..7b82a9ad9c 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -392,7 +392,8 @@ static void add_oplock_timeout_handler(files_struct *fsp)
*******************************************************************/
static void process_oplock_async_level2_break_message(int msg_type, struct process_id src,
- void *buf, size_t len)
+ void *buf, size_t len,
+ void *private_data)
{
struct share_mode_entry msg;
files_struct *fsp;
@@ -478,7 +479,8 @@ static void process_oplock_async_level2_break_message(int msg_type, struct proce
*******************************************************************/
static void process_oplock_break_message(int msg_type, struct process_id src,
- void *buf, size_t len)
+ void *buf, size_t len,
+ void *private_data)
{
struct share_mode_entry msg;
files_struct *fsp;
@@ -586,7 +588,8 @@ static void process_oplock_break_message(int msg_type, struct process_id src,
*******************************************************************/
static void process_kernel_oplock_break(int msg_type, struct process_id src,
- void *buf, size_t len)
+ void *buf, size_t len,
+ void *private_data)
{
SMB_DEV_T dev;
SMB_INO_T inode;
@@ -677,7 +680,8 @@ void reply_to_oplock_break_requests(files_struct *fsp)
}
static void process_oplock_break_response(int msg_type, struct process_id src,
- void *buf, size_t len)
+ void *buf, size_t len,
+ void *private_data)
{
struct share_mode_entry msg;
@@ -704,7 +708,8 @@ static void process_oplock_break_response(int msg_type, struct process_id src,
}
static void process_open_retry_message(int msg_type, struct process_id src,
- void *buf, size_t len)
+ void *buf, size_t len,
+ void *private_data)
{
struct share_mode_entry msg;
@@ -858,15 +863,20 @@ BOOL init_oplocks(void)
DEBUG(3,("init_oplocks: initializing messages.\n"));
message_register(MSG_SMB_BREAK_REQUEST,
- process_oplock_break_message);
+ process_oplock_break_message,
+ NULL);
message_register(MSG_SMB_ASYNC_LEVEL2_BREAK,
- process_oplock_async_level2_break_message);
+ process_oplock_async_level2_break_message,
+ NULL);
message_register(MSG_SMB_BREAK_RESPONSE,
- process_oplock_break_response);
+ process_oplock_break_response,
+ NULL);
message_register(MSG_SMB_KERNEL_BREAK,
- process_kernel_oplock_break);
+ process_kernel_oplock_break,
+ NULL);
message_register(MSG_SMB_OPEN_RETRY,
- process_open_retry_message);
+ process_open_retry_message,
+ NULL);
if (lp_kernel_oplocks()) {
#if HAVE_KERNEL_OPLOCKS_IRIX