summaryrefslogtreecommitdiff
path: root/source4/lib/events
AgeCommit message (Collapse)AuthorFilesLines
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)
2007-10-10r6968: fixed a typo in the event macros. I'm surprised this one didn't show ↵Andrew Tridgell1-1/+1
up earlier! (This used to be commit 517028870747338fe96fd7607ec507e5577b67a9)
2007-10-10r6147: The maxfd was being recalculated on every event loop, which made usAndrew Tridgell1-1/+0
less scalable. It only needs to be recalculated when we the highest fd is destroyed. (This used to be commit 568b9175f329f594404c9091ee5946670c40697e)
2007-10-10r5437: Allow Samba4 to be compiled by tcc (www.tinycc.org). It still crashes ↵Jelmer Vernooij1-3/+3
when linking though. (This used to be commit 2e1e8db6dc877eb32b51cfc3d9c8f463d14530ec)
2007-10-10r5407: - this patch makes samba's event loop code more generic and makesStefan Metzmacher6-191/+701
using other implementations possible. This will be mostly usefull for client apps which have there own event loop and want to use our client libs - add a example plugin for liboop (see http://liboop.org) NOTE: this just compiles and is completly untested and is commited only as example metze (This used to be commit b3d0a410efe856e3bcf127f00c31905f5a23cc04)
2007-10-10r5393: trigger timed events not to early, better do it a bit to lateStefan Metzmacher1-1/+2
metze (This used to be commit 67bf637e9a44202061fd71c92142f835ba76da89)
2007-10-10r5373: prepare infrastructure for maing different eventsStefan Metzmacher2-1/+1
implementations possible metze (This used to be commit dd77ec754b811feb147458d76fa16833767dccea)
2007-10-10r5370: epoll gives more precise event bits like EPOLLHUP instead of just ↵Andrew Tridgell1-1/+2
EPOLLIN. We need to map these to "read" events for the events code to work on errors like connection refused (thanks to vl for noticing this bug) (This used to be commit 7c379590b4ca808eddef5c3ac15db25cefc5215b)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell1-0/+1
less likely that anyone will use pstring for new code - got rid of winbind_client.h from includes.h. This one triggered a huge change, as winbind_client.h was including system/filesys.h and defining the old uint32 and uint16 types, as well as its own pstring and fstring. (This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10r5296: - only include the tdb headers where they are neededAndrew Tridgell1-2/+0
- removed the u32 hack in events.c as I think this was only needed as tdb.h defines u32. Metze, can you check that this hack is indeed no longer needed on your suse system? (This used to be commit 6f79432fe656164d4770dbce114a30dda5e7bf9a)
2007-10-10r5292: ensure we cleanup the epoll_fd on event context destructionAndrew Tridgell1-0/+17
(This used to be commit e820fca5062026810c5bd4827941f34c19a5e847)
2007-10-10r5284: this is needed on my serverStefan Metzmacher1-0/+2
+/* this #undef is needed on my SuSE 9.2 Box with glibc-devel-2.3.3-118 */ +#undef u32 as sys/epoll.h has this: typedef union epoll_data { void *ptr; int fd; uint32_t u32; uint64_t u64; } epoll_data_t; metze (This used to be commit b4928f3ea8f6530317dfa76593cf93e6acd4337a)
2007-10-10r5273: fixed another bug in the code that keeps timed eventsAndrew Tridgell1-2/+2
sorted. Hopefully it really works now :-) (This used to be commit 34e1a3ad7849df913584074ec406c2fcc40212fc)
2007-10-10r5217: avoid epoll_ctl() if the event flags are already set correctlyAndrew Tridgell1-1/+4
(This used to be commit d89b493aaf690ceb107bd62df75f1bba82284f90)
2007-10-10r5198: don't consider failure to remove an epoll event as enough reason toAndrew Tridgell1-4/+2
fallback to select(). This can happen in too many situations. (This used to be commit 2d7242f2ec945c1e5fbc6f256265471f60ac8cd9)
2007-10-10r5197: moved events code to lib/events/ (suggestion from metze)Andrew Tridgell4-0/+593
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)