summaryrefslogtreecommitdiff
path: root/source4/lib/events
AgeCommit message (Collapse)AuthorFilesLines
2008-04-14Remove prototypes from build.h in preparation of removing build.hJelmer Vernooij1-0/+3
altogether. (This used to be commit dbeab2a9cdee4e5f69afeb2603ba29cbed56debd)
2008-04-04Don't install libevents for now, just its headers. It is already part of ↵Jelmer Vernooij1-3/+1
other libs, and only used as part of those libs. (This used to be commit c96a68b7b7792d30b7b1a0167a0cbf6fe285993c)
2008-04-03Install libevents since it's required by samba-gtk.Jelmer Vernooij1-2/+4
(This used to be commit 2073346828ffa1d9c35105eadd7afddd3a76a045)
2008-04-02Reduce the number of installed headers.Jelmer Vernooij1-1/+1
(This used to be commit 2243e24024f09ff9c9c7d0eb735c3b39c9d84424)
2008-03-11events_signal: pass down the correct siginfo_t struct to the event handlerStefan Metzmacher1-1/+1
metze (This used to be commit 4b071236867ca5c2c0451ad3acc8a9debb0549e4)
2008-02-29Move public header accumulation out of the perl code.Jelmer Vernooij1-1/+2
Never install generated prototype files. It's easier to break the API when using them and they're not easily readable for 3rd party users. Conflicts: source/auth/config.mk source/auth/credentials/config.mk source/auth/gensec/config.mk source/build/smb_build/config_mk.pm source/build/smb_build/main.pl source/build/smb_build/makefile.pm source/dsdb/config.mk source/lib/charset/config.mk source/lib/tdr/config.mk source/lib/util/config.mk source/libcli/config.mk source/libcli/ldap/config.mk source/librpc/config.mk source/param/config.mk source/rpc_server/config.mk source/torture/config.mk (This used to be commit 6c659689ed4081f1d7a6253c538c7f01784197ba)
2008-02-20Make more module init functions public, since they are compiled with ↵Jelmer Vernooij2-2/+2
-fvisibility=hidden. Not doing this causes failures on Mac OS X. (This used to be commit da1a9438bd89569077ef1eaa9dc977b5f9d62836)
2008-01-05r26669: Janitorial: Remove uses of global_loadparm.Jelmer Vernooij1-3/+0
(This used to be commit 50c46160d997e0448f51ae09e0f3c79e8519fa41)
2007-12-28r26625: Wrap some more events functions for Python and add a trivial test ↵Jelmer Vernooij5-37/+169
for it. (This used to be commit 7873666a958a0b92c979dba93f3c3e5136e28d29)
2007-12-28r26620: python: Allow not specifying event contexts, in which case a new ↵Jelmer Vernooij3-1/+51
context is used. (This used to be commit 73c0b1c89763ba61451f3d2a602163090780c56f)
2007-12-26r26588: Janitorial: Rename torture_*_add_*test to torture_*_add_*test_const.Kai Blin1-1/+1
Also rename the corresponding wrap_ functions. (This used to be commit e59c2eaf681f076d175b9779d1c27b5f74a57c96)
2007-12-24r26580: Include sentinel in build.h, in case the list is empty.Jelmer Vernooij1-1/+1
(This used to be commit f1997dabed584bdc864c4b7235c29603c312ef46)
2007-12-24r26576: Allow the static module loading code to be used for the Python modules.Jelmer Vernooij1-1/+1
Simplify the way module initialization functions are handled. (This used to be commit ba8be2dfc0de4434c798663336b81f7f95cde520)
2007-12-24r26570: - Trim size of the swig-generated Python bindings by removing a ↵Jelmer Vernooij2-10/+4
bunch of {}'s. - Start working on Python equivalents for various EJS tests. - Fix regression in argument order for reg_diff_apply() in EJS bindings. (This used to be commit c550c03372cb260b78f6a6c132e70571bc4cb852)
2007-12-21r26464: Tighten dependencies.Jelmer Vernooij1-1/+1
(This used to be commit 2b7cfa5d9ab94e1ff2d60719cd3749810463ab15)
2007-12-21r26399: Use -O option for SWIG (less evil generated code).Jelmer Vernooij2-6/+28
(This used to be commit 3378b6a559272cb702b52966692bf423f67a2b41)
2007-12-21r26288: events: events.h uses uint16_t so it needs stdint.hStefan Metzmacher1-1/+1
stdlib.h isn't used directly and talloc.h brings it in anyway this fixes the build of lib/events/./events_wrap.c on older systems linux versions. metze (This used to be commit 60b852688c65edf011d26376f69b615149a49b2e)
2007-12-21r26266: Remove more global_loadparm uses.Jelmer Vernooij1-5/+0
(This used to be commit 99113075c4a96679bcec4f4d6bba4acb3dee4245)
2007-12-21r26248: Check in SWIG output so SWIG is not required when running out of svn.Jelmer Vernooij2-0/+3238
(This used to be commit 08501fbef38f81ce5ff4885a1696f9cb392fd631)
2007-12-21r26195: Wrap two more functions.Jelmer Vernooij1-0/+4
(This used to be commit f7312cbb76d9e237350bc54d97bc06760938e6e3)
2007-12-21r26194: Wrap the events subsystem in a separate file.Jelmer Vernooij2-0/+35
(This used to be commit cfb6bbdc31083308dbff29cf226a092c8a137c2a)
2007-12-21r25903: Move more files out of torture/Jelmer Vernooij1-0/+145
(This used to be commit f734df3144cdd9ff280ee1cac2c3a7f972716f5d)
2007-12-21r25676: fixed a valgrind error in the epoll event backend. The linked listAndrew Tridgell1-3/+2
could get mucked up. (This used to be commit 67240f380b2828eb85463ab2d256ae601f57348f)
2007-10-10r25537: Use new path for events modules.Jelmer Vernooij1-1/+1
(This used to be commit f9270073a282ba94eb4e3f51440d5653480082da)
2007-10-10r25522: Convert to standard bool types.Jelmer Vernooij2-4/+4
(This used to be commit 5e814287ba475e12f8cc934fdd09b199dcdfdb86)
2007-10-10r25446: Merge some changes I made on the way home from SFO:Jelmer Vernooij1-1/+1
2007-09-29 More higher-level passing around of lp_ctx. 2007-09-29 Fix warning. 2007-09-29 Pass loadparm contexts on a higher level. 2007-09-29 Avoid using global loadparm context. (This used to be commit 3468952e771ab31f90b6c374ade01c5550810f42)
2007-10-10r25430: Add the loadparm context to all parametric options.Jelmer Vernooij1-1/+1
(This used to be commit fd697d77c9fe67a00939a1f04b35c451316fff58)
2007-10-10r25035: Fix some more warnings, use service pointer rather than service ↵Jelmer Vernooij1-1/+1
number in more places. (This used to be commit df9cebcb97e20564359097148665bd519f31bc6f)
2007-10-10r25027: Fix more warnings.Jelmer Vernooij1-1/+1
(This used to be commit 5085c53fcfade614e83d21fc2c1a5bc43bb2a729)
2007-10-10r25026: Move param/param.h out of includes.hJelmer Vernooij1-0/+1
(This used to be commit abe8349f9b4387961ff3665d8c589d61cd2edf31)
2007-10-10r24814: Fix headers, trim core.h even more.Jelmer Vernooij1-1/+1
(This used to be commit 9647f860bdd5c0a74583e886182bd041a45e7655)
2007-10-10r24502: More work to get LOCAL-EVENT passing on all platforms:Andrew Bartlett1-11/+18
- Make the epoll_event_context_init() call fail if epoll_create() fails. This should cause this backend to be skipped on host with epoll() in libc but not in the kernel. - At the moment, there is no sensible way to handle failures to add an epoll() event, and 'fallback to select' is misnamed (so we now abort()). Andrew Bartlett (This used to be commit fb1e1eebdae740a2b66ee1ea9e1e35f21292ac14)
2007-10-10r23792: convert Samba4 to GPLv3Andrew Tridgell10-30/+20
There are still a few tidyups of old FSF addresses to come (in both s3 and s4). More commits soon. (This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10r23301: merged from ctdbAndrew Tridgell3-0/+6
(This used to be commit 76b981fcefb0dff24ac7d543da70fbb487ed7072)
2007-10-10r22985: don't do checkins late at night ....Andrew Tridgell1-2/+0
thanks to Volker for spotting this! (This used to be commit d28fc5f87fd4d9a9843d1295fe2a181922a476fc)
2007-10-10r22971: fix build on systems without epollAndrew Tridgell1-0/+1
(This used to be commit 146303d91b4c64c87c356c3ed44ccb5774297a71)
2007-10-10r22970: the events code calls close(), which needs to use socket_wrapper.h inAndrew Tridgell3-0/+3
the build farm (This used to be commit 603d8b6f1702d10234b81ccde0649d8be63ae616)
2007-10-10r22968: andrew bartlett pointed out that the parent process could add a fd toAndrew Tridgell3-33/+33
the epoll context which would then appear in the children. To fix this we need to check for pid changes in more places. Luckily on platforms where we have epoll(), getpid() is very very cheap. (This used to be commit 4f84e6d569f9c9d7dd902f4550735f3ce2d3b424)
2007-10-10r22964: log an error on epoll_create failing on reopenAndrew Tridgell3-1/+4
(This used to be commit a69f28599845d3ea3868a574c6b0ba8db8486ef5)
2007-10-10r22963: fixed the epoll/fork interaction in the epoll and aio backendsAndrew Tridgell2-0/+86
(This used to be commit aeca07659aa612bee0c4dd6bdbb24c799e912909)
2007-10-10r22959: cope with a rather interesting interaction between epoll() andAndrew Tridgell1-1/+41
fork(). See http://junkcode.samba.org/ftp/unpacked/junkcode/epoll_fork.c for why this is needed (This used to be commit 6d06132ea9c5a1c7d098ba13f4146dc60e811e44)
2007-10-10r22830: merged the latest lib/events updates from ctdb to Samba4. ThisAndrew Tridgell9-8/+74
includes a new EVENT_FD_AUTOCLOSE flag that prevents race conditions where code using fd events might close a fd before releasing the struct fd_event. That causes headaches for epoll. (This used to be commit f1ad216de13b154a1f8747a44b0970dcc47a784a)
2007-10-10r22661: optimize the handling of directly triggered timed events:Stefan Metzmacher6-48/+60
- if someone adds a timed_event with a zero timeval we now avoid serval gettimeofday() calls and the event handler doesn't get the current time when it's called, instead we also pass a zero timeval - this also makes sure multiple timed events with a zero timeval are processed in the order there're added. the little benchmark shows that processing 2000000 directly timed events is now much faster, while avoiding syscalls at all! > time ./evtest (with the old code) real 0m6.388s user 0m1.740s sys 0m4.632s > time ./evtest (with the new code) real 0m1.498s user 0m1.496s sys 0m0.004s metze@SERNOX:~/devel/samba/4.0/samba4-ci/source> cat evtest.c #include <stdio.h> #include <stdint.h> #include <sys/time.h> #include <talloc.h> #include <events.h> static void dummy_fde_handler(struct event_context *ev_ctx, struct fd_event *fde, uint16_t flags, void *private_data) { } static void timeout_handler(struct event_context *ev, struct timed_event *te, struct timeval tval, void *private_data) { uint32_t *countp = (uint32_t *)private_data; (*countp)++; if (*countp > 2000000) exit(0); event_add_timed(ev, ev, tval, timeout_handler, countp); } int main(void) { struct event_context *ev; struct timeval tval = { 0, 0 }; uint32_t count = 0; ev = event_context_init(NULL); event_add_fd(ev, ev, 0, 0, dummy_fde_handler, NULL); event_add_timed(ev, ev, tval, timeout_handler, &count); return event_loop_wait(ev); } (This used to be commit 4db64b4ce2320b88d648078cbf86385f6fb44f1f)
2007-10-10r22634: make the events system much less dependent on the samba4 build systemAndrew Tridgell8-21/+69
(This used to be commit b0c8c1cd21e3f91431504d70a4bc0d3c6dee6071)
2007-10-10r22632: merged volkers select events fixAndrew Tridgell1-1/+2
(This used to be commit 216aa06fe634f98dce3f157e67303e90ddb70e2d)
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)