Can you give me more details please about where smbd is missing
the signal ? smbd should not be able to miss these signals, as
all they do is set a flag that is then processed inline in the
main loop.

Please give me more details asap.

For testing I have a simple windows program to activates change notification for a given directory on
the Samba side. I can then see what is happening when I copy, remove or delete files (this is
what I tested). The Samba server is Suse 8.1 with the latest 2.4 kernel and Samba 2_2 CVS,
my client is a W2K WS.

When I check the signal_handler() function in notify_kernel.c I can see, that after starting a new
smbd I get a signal when I copy/move/delete a file. For copy this happens only once, for
rename/delete signal_handler is called every time.
When I check the kernel_remove_notify() / kernel_register_notify() functions which have to be
called every time after a signal is received, they only get called for move or delete operations.

As I understand the code the actual change notification processing is initiated by the
process_pending_change_notify_queue() function. This function doesn't get called when I copy
a file to the directory with change notification activated. For rename or delete this works.

...Juergen




Reply via email to