summaryrefslogtreecommitdiffstats
path: root/source/include/config.h.in
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-06-12 15:53:31 +0000
committerAndrew Tridgell <tridge@samba.org>2000-06-12 15:53:31 +0000
commit44766c39e0027c762bee8b33b12c621c109a3267 (patch)
treef2d2b7d7ef5464056d88d0fdc2f66f75fa609875 /source/include/config.h.in
parentabf06fa90ba49f6a1ec5458d056f8b8cf20b6512 (diff)
downloadsamba-44766c39e0027c762bee8b33b12c621c109a3267.tar.gz
samba-44766c39e0027c762bee8b33b12c621c109a3267.tar.xz
samba-44766c39e0027c762bee8b33b12c621c109a3267.zip
totally rewrote the async signal, notification and oplock notification
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!
Diffstat (limited to 'source/include/config.h.in')
-rw-r--r--source/include/config.h.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/include/config.h.in b/source/include/config.h.in
index b4a4f134e48..e3afd6a66a9 100644
--- a/source/include/config.h.in
+++ b/source/include/config.h.in
@@ -544,6 +544,9 @@
/* Define if you have the pipe function. */
#undef HAVE_PIPE
+/* Define if you have the poll function. */
+#undef HAVE_POLL
+
/* Define if you have the pread function. */
#undef HAVE_PREAD