summaryrefslogtreecommitdiffstats
path: root/source3/smbd/notify.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison2001-03-111-4/+0
| | | | | | | RPC code to merge with new passdb code. Currently rpcclient doesn't compile. I'm working on it... Jeremy. (This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
* allow the notify implementation to choose the select timeout changeAndrew Tridgell2000-06-141-2/+2
| | | | (This used to be commit b1441d9622609af5ef598c5e1e1f5af438dc0731)
* enable the Linux change notify code and change some notify debug codeAndrew Tridgell2000-06-121-1/+4
| | | | (This used to be commit c6be511fcc1be79619a0184f03d4c33dbfe12f04)
* totally rewrote the async signal, notification and oplock notificationAndrew Tridgell2000-06-121-284/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* fixed comments at top of moduleAndrew Tridgell2000-06-121-2/+3
| | | | (This used to be commit 02577ab7d275dfb49e104f3358cb3caa66b3b09e)
* split all the change notify code out into a separate moduleAndrew Tridgell2000-06-121-0/+392
smbd/notify.c. All the data structures are now private to that module. this is in preparation for Linux kernel support for change notify (coming soon to a CVS tree near you) (This used to be commit 1bb0aad4f66dbfa2d0f767ea90f926affff20b17)