summaryrefslogtreecommitdiff
path: root/source3/smbd/notify_kernel.c
AgeCommit message (Collapse)AuthorFilesLines
2003-05-15Fix from Steve G <linux_4ever@yahoo.com>. Ensure sigemptyset is called onJeremy Allison1-5/+6
the sa_mask to prevent valgrind complaints. Jeremy. (This used to be commit ef2d5a9c0c11a4e6d65bdebad5d9ea44dd000a68)
2003-03-28it is possible for some of the real time signals to be used by glibc,Andrew Tridgell1-1/+4
which then changes SIGRTMIN. It is also possible for bash to leave some real time signals blocked at startup. This fixes both problems. (This used to be commit 8d45bf644aecb6993c2a82b86a4527b33029ed8f)
2003-01-13Ensure we do not pass uninitialised data to the kernel. (Picked up byAndrew Bartlett1-0/+2
valgrind). Andrew Bartlett (This used to be commit f8d9880c5f5321f4dba6b42896419412284c3e7b)
2002-10-28Fix fd leak with kernel change notify.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 78df2c916ae3940f0124912f99b1e0ca3914fff5)
2002-06-17compile warngin fixes merged from 2.2Gerald Carter1-9/+9
(This used to be commit 29874f4b8fecdc7cbd84d656dafce54cca49e0b1)
2002-06-05Remove blocksignals call as it's never going to bloody work right...Jeremy Allison1-1/+0
Jeremy. (This used to be commit db8932c297096e6e957677c4ed944e4c319db1d8)
2002-06-05Fix for Linux kernel bug where signal mask set within a signal handlerJeremy Allison1-33/+67
is being ignored on sighandler exit. This means we have to have a small array of fd's, not a single one. Jeremy. (This used to be commit b06862e2de8d3bafbc10a9807501ef5bf148a61c)
2002-04-19Fix different args to sys_fcntl without going varargs....Jeremy Allison1-3/+3
Jeremy. (This used to be commit 65742067e07195048edcee46dae95a58a4a50950)
2002-04-19Added sys_fcntl (not to be used everywhere). Added sys_read/sys_writeJeremy Allison1-3/+3
for transfer_file. Jeremy. (This used to be commit c7ff521bab838c070931f2b0ece4be3371fbcdbf)
2002-01-30Removed version number from file header.Tim Potter1-2/+1
Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2001-10-02Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.Tim Potter1-1/+0
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
2001-09-17move to SAFE_FREE()Simo Sorce1-1/+1
(This used to be commit a95943fde0ad89ae3f2deca2f7ba9cb5ab612b74)
2001-07-04The big character set handling changeover!Andrew Tridgell1-1/+1
This commit gets rid of all our old codepage handling and replaces it with iconv. All internal strings in Samba are now in "unix" charset, which may be multi-byte. See internals.doc and my posting to samba-technical for a more complete explanation. (This used to be commit debb471267960e56005a741817ebd227ecfc512a)
2001-06-25fixed usage of socklen_t and also tidied up SIG_ATOMIC_T, using a typedef ↵Andrew Tridgell1-6/+6
instead of a define (This used to be commit e2ecff419fdc0a0dc7551b33b377dc11061ef2a3)
2001-05-08More compiler warning fixes.Tim Potter1-2/+2
(This used to be commit 88a7b2c3f80b17ca8ab2112e9a98f55f1a11d88c)
2001-03-30utils/torture.c: Added one more delete on close test.Jeremy Allison1-3/+3
smbd/notify_kernel.c: This code was wrong I believe. It was structured to only return a changenotify event on being called from timeout processing (t != 0). The kernel changenotify events should fire on *asynchronous* processing (EINTR return from select caused by the realtime signal delivery) with t == 0. Reported by Juergen Hasch (Hasch@t-online.de). ANDREW PLEASE CHECK THIS ! Currently the hash style changenotify is done on async processing as well as timeout processing. As this is expensive we may want to revisit doing this and maybe set it to fire only on timeout processing. Jeremy. (This used to be commit f952380c5d0cfbbec1e7de98b712952f302cddfd)
2001-03-11Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison1-3/+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)
2000-09-20Fix to allow a timestamp of zero to cause an instantaneous changenotifyJeremy Allison1-1/+6
scan - then call this from renames. This allows instantaneous update for W2k renames. Jeremy. (This used to be commit 07dffc4ee931cbc61197e2da277df9c404a77469)
2000-06-19Paranoia changes to ensure that anything touched by a signal handlerJeremy Allison1-10/+11
and the main code is declared as VOLATILE SIG_ATOMIC_T. Jeremy. (This used to be commit b737c784e34b0e1af014cb828ef37d5b6d73c3e2)
2000-06-14allow the notify implementation to choose the select timeout changeAndrew Tridgell1-3/+4
(This used to be commit b1441d9622609af5ef598c5e1e1f5af438dc0731)
2000-06-13use DN_ATTRIB kernel change notify attributeAndrew Tridgell1-3/+7
(This used to be commit 9f542484d11b7b908d3170b702b3bad82ba71525)
2000-06-13always use the DN_CREATE mask (NT expects file creation always toAndrew Tridgell1-8/+3
cause a notify) (This used to be commit 20a06b7fb7c855e874b79b86251d597e7797b3c0)
2000-06-12enable the Linux change notify code and change some notify debug codeAndrew Tridgell1-8/+43
(This used to be commit c6be511fcc1be79619a0184f03d4c33dbfe12f04)
2000-06-12totally rewrote the async signal, notification and oplock notificationAndrew Tridgell1-0/+170
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)