diff options
author | Volker Lendecke <vlendec@samba.org> | 2006-12-31 10:16:03 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:16:49 -0500 |
commit | 165f5f3f40317c1e75d60a977270f903f7475f69 (patch) | |
tree | 150798e7f68903db1201c2465f77c863dcd03c30 /source3/smbd/nttrans.c | |
parent | ab7fc62edfb32422bf95dbf358f6ee5d94e27a34 (diff) | |
download | samba-165f5f3f40317c1e75d60a977270f903f7475f69.tar.gz samba-165f5f3f40317c1e75d60a977270f903f7475f69.tar.xz 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.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 976ecf45241..f51d01fb9c8 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)); } |