summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-12-31 10:16:03 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:49 -0500
commit165f5f3f40317c1e75d60a977270f903f7475f69 (patch)
tree150798e7f68903db1201c2465f77c863dcd03c30 /source3/smbd/nttrans.c
parentab7fc62edfb32422bf95dbf358f6ee5d94e27a34 (diff)
downloadsamba-165f5f3f40317c1e75d60a977270f903f7475f69.tar.gz
samba-165f5f3f40317c1e75d60a977270f903f7475f69.tar.bz2
samba-165f5f3f40317c1e75d60a977270f903f7475f69.zip
r20433: Work in progress: Survive more of RAW-NOTIFY.
call_nt_transact_notify_change() is now sync if there are changes around. A notify_message does a direct reply from within the message, so process_pending_change_notify_queue is not needed anymore for samba-generated events. Next step is to restructure the kernel-mechanisms to generate messages. Volker (This used to be commit c813f71d0036ec52c99a97e60fe33ee47d0635fa)
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r--source3/smbd/nttrans.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 976ecf4524..f51d01fb9c 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -1847,6 +1847,17 @@ static int call_nt_transact_notify_change(connection_struct *conn, char *inbuf,
return ERROR_DOS(ERRDOS,ERRbadfid);
}
+ if (fsp->notify->num_changes > 0) {
+
+ change_notify_reply(inbuf, max_param_count, fsp);
+
+ /*
+ * change_notify_reply() above has independently sent its
+ * results
+ */
+ return -1;
+ }
+
if (!change_notify_set(inbuf, fsp, conn, flags, max_param_count)) {
return(UNIXERROR(ERRDOS,ERRbadfid));
}