diff options
author | Andrew Tridgell <tridge@samba.org> | 2000-06-12 15:53:31 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2000-06-12 15:53:31 +0000 |
commit | 44766c39e0027c762bee8b33b12c621c109a3267 (patch) | |
tree | f2d2b7d7ef5464056d88d0fdc2f66f75fa609875 /source/configure | |
parent | abf06fa90ba49f6a1ec5458d056f8b8cf20b6512 (diff) | |
download | samba-44766c39e0027c762bee8b33b12c621c109a3267.tar.gz |
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/configure')
-rwxr-xr-x | source/configure | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/configure b/source/configure index 49f95411d10..8150594d77e 100755 --- a/source/configure +++ b/source/configure @@ -4680,7 +4680,7 @@ else fi done -for ac_func in initgroups select rdchk getgrnam getgrent pathconf +for ac_func in initgroups select poll rdchk getgrnam getgrent pathconf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:4687: checking for $ac_func" >&5 |