summaryrefslogtreecommitdiff
path: root/source3/smbd/notify_hash.c
AgeCommit message (Collapse)AuthorFilesLines
2000-09-27Restructuring of the code to remove dos_ChDir/dos_GetWd and re-vector themJeremy Allison1-2/+2
through the VFS. All file access/directory access code in smbd should now go via the vfs. Added vfs_chown/vfs_chmod calls. Still looking at vfs_get_nt_acl() vfs_set_nt_acl() call API design. Jeremy. (This used to be commit f96625ec124adb6e110dc54632e006b3620a962b)
2000-09-21Optimization (noticed by bloody Andrew :-) to stop directory scan everJeremy Allison1-4/+15
being done if any of the directory timestamps were changed. Jeremy. (This used to be commit 915152ed981e8e537d15fd4b80b3c3d10ee86bff)
2000-09-20Fix to allow a timestamp of zero to cause an instantaneous changenotifyJeremy Allison1-3/+6
scan - then call this from renames. This allows instantaneous update for W2k renames. Jeremy. (This used to be commit 07dffc4ee931cbc61197e2da277df9c404a77469)
2000-06-14allow the notify implementation to choose the select timeout changeAndrew Tridgell1-0/+1
(This used to be commit b1441d9622609af5ef598c5e1e1f5af438dc0731)
2000-06-12totally rewrote the async signal, notification and oplock notificationAndrew Tridgell1-0/+184
handling in Samba. This was needed due to several limitations and races in the previous code - as a side effect the new code is much cleaner :) in summary: - changed sys_select() to avoid a signal/select race condition. It is a rare race but once we have signals doing notification and oplocks it is important. - changed our main processing loop to take advantage of the new sys_select semantics - split the notify code into implementaion dependent and general parts. Added the following structure that defines an implementation: struct cnotify_fns { void * (*register_notify)(connection_struct *conn, char *path, uint32 flags); BOOL (*check_notify)(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *data, time_t t); void (*remove_notify)(void *data); }; then I wrote two implementations, one using hash/poll (like our old code) and the other using the new Linux kernel change notify. It should be easy to add other change notify implementations by creating a sructure of the above type. - fixed a bug in change notify where we were returning the wrong error code. - rewrote the core change notify code to be much simpler - moved to real-time signals for leases and change notify Amazingly, it all seems to work. I was very surprised! (This used to be commit 44766c39e0027c762bee8b33b12c621c109a3267)