summaryrefslogtreecommitdiff
path: root/source4/lib/events
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r21299: Fix the build for those that don't have talloc.h installed.Jelmer Vernooij1-1/+1
(This used to be commit e782035251fd3d51a7a4221d107519fb1ba70ba7)
2007-10-10r21297: Remove the GTK+ tools and library from the main repository. They are ↵Jelmer Vernooij2-0/+4
now maintained separately in bzr at http://people.samba.org/bzr/jelmer/samba-gtk This also adds some more headers to the list that is installed and a couple of extra #include lines so these headers can be used externally without problems. (This used to be commit 07652f65ce7a5b19130f1a27cbf0e1e5fae13454)
2007-10-10r21212: detect if the kernel does not support integrated epoll/aio when theAndrew Tridgell1-1/+11
event context is created. This allows the LOCAL-EVENT test to pass on systems with have libaio but not the necessary kernel patches (This used to be commit 2ff8abf0022824e6ae93019ee1b3391e651a8ee7)
2007-10-10r21171: fixed a bug related to recursive event handling.Andrew Tridgell4-11/+7
If this happens: - two sockets are readable, and select/epoll/aio returns both of them - read event on socket1 is called - inside that read event an event_loop_once is called, this returns that socket2 is readable - read event on socket2 is called - event_loop_once returns - top level event handler then calls read event on socket2 (as it still has that listed as readable) - read handler for socket2 returns zero byte read, which is interpreted as end of file - socket is incorrectly closed this happened with ctdb, but it could happen anywhere (just rarely). The fix is trivial - ensure we break out of the event loop when we have been called recursively. (This used to be commit e042002bb5ee8974220e1ade56b64389571f75a6)
2007-10-10r20989: don't mark epoll as set until after the io_submit() succeedsAndrew Tridgell1-1/+1
this is part of the solution to LOCAL-EVENT on fort (This used to be commit 35f62bc12559e355d4ac73018afe255ea7c5866b)
2007-10-10r20984: Try to ensure we can't have sig_state dissapear before se.Andrew Bartlett1-0/+5
I think this happens when both are eventual children of the autofree context. (Trying to track down a valgrind error on fort). Andrew Bartlett (This used to be commit aee751497ca738fa0de72dd0748590a74d5af2fd)
2007-10-10r20960: attempt to fix a valgrind error in the signals backend.Andrew Tridgell1-38/+48
This also reduces the static data in the signal backend when not using signals to 4 bytes. (This used to be commit 071a6e8eb1861b10b8a7aa61470f21a546ffa0ca)
2007-10-10r20941: avoid races in the block/unblock codeAndrew Tridgell1-3/+11
(This used to be commit 83353ec0cd05464abb581f51d8c26ade7f0876fe)
2007-10-10r20940: allow SA_SIGINFO signals to be oneshot. Why you would ever want thisAndrew Tridgell1-0/+3
is beyond me :-) (This used to be commit e892cbdb4bb0779f8abb0902bee4a2e79456808d)
2007-10-10r20939: reduce the amount of static state for signal handlers from 96k to 1.2kAndrew Tridgell1-4/+23
(This used to be commit bf060ce4fe3b58fc3e58214490c4da9c6644c365)
2007-10-10r20938: use a double counter trick to avoid the need for atomic incrementAndrew Tridgell1-10/+31
(This used to be commit 7c7b79ed042abebc48d8eaa71c252df3200a84d9)
2007-10-10r20934: I *hate* deep indents :-)Volker Lendecke1-26/+28
(This used to be commit c98dd55e32a1d2df016e7a4deba218cd54efcdd2)
2007-10-10r20930: use sigaction() instead of signal()Andrew Tridgell4-11/+87
add support for sa_flags argument to event_add_signal(). These are passed to sigaction(). Special handling is provided for SA_RESETHAND (which tells the event system to remove the handler after the signal) and SA_SIGINFO which allows the siginfo structure to be received per signal (This used to be commit 1bb10b6cf7d717ad21834e73a4ca4b22b5fb6f0a)
2007-10-10r20929: fixed typoAndrew Tridgell1-4/+4
(This used to be commit bad87e2c82208646c331507d3999a3311ed153d9)
2007-10-10r20928: added signal events to lib/eventsAndrew Tridgell10-2/+261
Jeremy asked for this to allow Samba3 to use the Samba4 events library see torture/local/event.c for an example (This used to be commit 7e105482ff9a3da6b4708ff99a64f1881614fc5f)
2007-10-10r20794: hopefully fix the build on systems without native linux aioStefan Metzmacher1-1/+1
metze (This used to be commit 4787b8e1f7a7bb6b1e0f8ca64a27e4c5e6f53c2c)
2007-10-10r20788: - remove epoll configure checks from libreplaceStefan Metzmacher3-17/+15
- fix epoll configure checks for the epoll and aio events backends - we should only activate the epoll backend if sys/epoll.h and epoll_create() are found - we should only activate the aio backend if sys/epoll.h, epoll_create(), libaio.h and io_getevents() are found hopefully fix the build on 'bnhtest' in the build farm... metze (This used to be commit d46a5efb03ea1df50567cad00e1589870cdb31fe)
2007-10-10r20787: a subsystem doesn't need explicit dependencies to its modulesStefan Metzmacher1-1/+1
metze (This used to be commit 017cf3f13799b03e0aef995bc4fa9ae74bc1acb7)
2007-10-10r20623: change where the smb.conf parm event:backend is checked to ensure itAndrew Tridgell1-4/+6
affects all event_context_init() calls (This used to be commit 803e6cf6ef5caaf7c9faefcc111c97e1a97e9b82)
2007-10-10r20621: - enable the aio events backend on systems that support itAndrew Tridgell3-7/+19
- allow the events backend to be chosen in smb.conf (This used to be commit 4a8e07286f827a6f57b2c54d97d31172553ceb0d)
2007-10-10r20540: darn, also need to fix this event_context referenceAndrew Tridgell1-2/+2
(This used to be commit c8bd3ec09d3c370475df3a3cd77de6743b316c9e)
2007-10-10r20539: - split the common timer related events code into events_timed.cAndrew Tridgell10-265/+1137
- make it easier to plug in a new events backend - add simpler 'select' and 'epoll' backends This is part of the effort to add good AIO support. The events_aio.c backend is done, but sometimes dies with a SEGV, which is why it isn't enabled yet. (This used to be commit 934f18283dbc7958944931a93a854526bcd54884)
2007-10-10r20104: this is a alternative events backend, which uses a hybrid of aio andAndrew Tridgell1-0/+518
epoll. It is not linked in anywhere yet - I'm committing it in case anyone else wants to have a look at it. The concept is quite strange really, but it seems to be the only way that Linux 2.6.x can currently use a unified event model allowing for AIO events and socket events to be waited for by a single unified event wait function. You setup a epoll system, then setup a weird aio event that points at the epoll system, then use io_getevents() to actually do the waiting. I'm hoping that kevents or a proper integration of epoll will allow us to avoid ths rather hackish scheme, but meanwhile this is the only path to proper AIO in Samba on Linux (without a horrible signals mess) (NOTE: this code requires some kernel patches to work at the moment) (This used to be commit 195051fdee341e8d8cb76e5c91dcc0f6c246a870)
2007-10-10r17930: Merge noinclude branch:Jelmer Vernooij1-1/+1
* Move dlinklist.h, smb.h to subsystem-specific directories * Clean up ads.h and move what is left of it to dsdb/ (only place where it's used) (This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
2007-10-10r15854: more talloc_set_destructor() typesafe fixesAndrew Tridgell2-16/+10
(This used to be commit 61c6100617589ac6df4f527877241464cacbf8b3)
2007-10-10r15207: Introduce PRIVATE_DEPENDENCIES and PUBLIC_DEPENDENCIES as replacementJelmer Vernooij1-1/+1
for REQUIRED_SUBSYSTEMS. (This used to be commit adc8a019b6da256f104abed1b82bfde6998a2ac9)
2007-10-10r14542: Remove librpc, libndr and libnbt from includes.hJelmer Vernooij1-0/+5
(This used to be commit 51b4270513752d2eafbe77f9de598de16ef84a1f)
2007-10-10r14477: Remove the NOPROTO property - it's no longer used as proto.h is gone.Jelmer Vernooij1-1/+0
(This used to be commit 9c37f847d32d2f327a88c53a90af0c73126b76be)
2007-10-10r13842: Make some more functions public.Jelmer Vernooij1-1/+1
(This used to be commit aac1b99b362993352d80692afa55c38fc851c016)
2007-10-10r13699: restore the system/select.h include, as otherwise we don't detectAndrew Tridgell1-0/+1
epoll support (This used to be commit 71eb159f9cc00e8de23a8700cea0e7a3be8c64d4)
2007-10-10r12844: don't include system headers directlyStefan Metzmacher1-9/+1
metze (This used to be commit 75a98047d6829cadf4b9082bec2733055dad3465)
2007-10-10r12498: Eliminate INIT_OBJ_FILES and ADD_OBJ_FILES. We were not usingJelmer Vernooij1-2/+1
the difference between these at all, and in the future the fact that INIT_OBJ_FILES include smb_build.h will be sufficient to have recompiles at the right time. (This used to be commit b24f2583edee38abafa58578d8b5c4b43e517def)
2007-10-10r12153: work arround the fact that epoll reports EPOLLERR and EPOLLHUP, even ifStefan Metzmacher1-10/+87
you don't ask for. with this patch the epoll mode behaves like the select mode metze (This used to be commit f26c28a3ae7951657cc304659f3d19c16f462dd8)
2007-10-10r12146: as epoll notifies EPOLLERR and EPOLLHUP implicit,Stefan Metzmacher1-2/+2
let our code make it explicit, to make it clear metze (This used to be commit cf733e2684ab0d43d83b1ab5c9d178d895f768a1)
2007-10-10r12141: - move epoll related code into one big #ifdef, and use dummy #define'sStefan Metzmacher1-160/+174
for the case where, epoll isn't available at compile time - only pass the private std_event_context, to the local function, to get rid of the talloc_get_type() calls - use the private pointer to std_event_context_init() to decide if we want to disable epoll at runtime metze (This used to be commit de322ea8b761df5434e60879b7eae3796ea68007)
2007-10-10r12140: - add an additional_flags field to the fd_event struct, so thatStefan Metzmacher3-3/+6
the events backend can store private flags - add function to access the gtk event loop ops struct metze (This used to be commit a5cc0758a393f36a770cdd57e317214d03934c13)
2007-10-10r12124: we don't need this comment twiceStefan Metzmacher1-5/+0
metze (This used to be commit 62c4ae8dde918d8393a3b181a5cac1be1e57e158)
2007-10-10r12123: handle fde == NULL at the correct levelStefan Metzmacher3-11/+16
metze (This used to be commit 1dd5bb60a5047b94034eb084473bb8f4a9926e7c)
2007-10-10r11244: Relative path names in .mk filesJelmer Vernooij1-2/+2
(This used to be commit 24e10300906c380919d2d631bfb3b8fd6b3f54ba)
2007-10-10r11214: Remove scons files (see ↵Jelmer Vernooij1-3/+0
http://lists.samba.org/archive/samba-technical/2005-October/043443.html) (This used to be commit 7fffc5c9178158249be632ac0ca179c13bd1f98f)
2007-10-10r10690: Fix a bug that metze pointed out: Leaving the "rejecting" destructor ↵Volker Lendecke1-0/+1
around prevents the memory from being freed. Thanks, Volker (This used to be commit df8eeb01f498568207a4a8d5d12348c473f41799)
2007-10-10r10684: Add a nasty hack for the failure case of wbinfo -t. Tridge has a ↵Volker Lendecke1-1/+9
proper fix for it pending. Also fix a bug with timed events: Don't call the same event recursively in the handler's inner semi-async event loop. Volker (This used to be commit e38e50127a3414461578421e676a9c58c106c272)
2007-10-10r10586: Add MergedObject() builder. Default to Library() ratherJelmer Vernooij1-1/+1
then StaticLibrary() (This used to be commit b53313dc517986c69a4e4cb8fe3885b696f8faa1)
2007-10-10r10537: - we now use a much nicer way to handle talloc_free(timed_event)Stefan Metzmacher2-10/+21
the events code replaces a destructor to one that returns allways -1 while it's calling the event handler - we don't need the composite and winsrepl specific fixes any more - this also fixes the problem with smbcli, dcerpc, cldap, ldap and nbt request timeouts metze (This used to be commit 495996cfc49a1c6eefde6ff04fc75e0739be3aab)
2007-10-10r10348: Add scons scripts for remaining subsystems. Most subsystems build now,Jelmer Vernooij1-0/+3
but final linking still fails (as does generating files asn1, et, idl and proto files) (This used to be commit 4f0d7f75b99c7f4388d8acb0838577d86baf68b5)
2007-10-10r9703: r9683@blu: tridge | 2005-08-27 18:56:05 +1000Andrew Tridgell1-0/+4
added a comment about event_context_find() (This used to be commit 9c230082215dd1f7f19f6b797e7f0c60a9e933fd)
2007-10-10r9702: r9680@blu: tridge | 2005-08-27 18:45:08 +1000Andrew Tridgell2-0/+16
- fixed ncacn_ip_tcp to use the generic async name resolution methods, so NBT names now work (as requested several times by abartlet!) - changed resolve_name() to take an event_context, so it doesn't cause the whole process to block - cleaned up the talloc_find_parent_bytype() calls to go via a cleaner event_context_find() call (This used to be commit b3d491b210a8b889a25efcb273e70fefbd01b7f7)
2007-10-10r8886: Exchange the arguments of timeval_compare, this makes it behave like ↵Volker Lendecke1-1/+2
strcmp. Volker (This used to be commit 6f5bd7602155413029de32295d2639c4073ad4d8)
2007-10-10r8875: Rename timeval_diff to timeval_until and revert the arguments. ↵Volker Lendecke1-1/+1
timeval_diff is not strictly a subtraction function, there can't be negative timevals. Volker (This used to be commit 525d75dd24f6a8810f1ed2043d170c70b060f1f0)
2007-10-10r8409: fixed another error found on netbsd.Andrew Tridgell1-8/+13
some of our torture code does its own timeout processing, which means there is no event timer in the event context. To fix this gererically I have added a 30 second timout to all select/epoll calls so the callers timeout loop is guaranteed to run eventually (This used to be commit 01e5aa146439f2dbf6c4133a0b5d910383a6576b)