Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit c8bd3ec09d3c370475df3a3cd77de6743b316c9e)
|
|
- 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)
|
|
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)
|
|
* 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)
|
|
(This used to be commit 61c6100617589ac6df4f527877241464cacbf8b3)
|
|
for REQUIRED_SUBSYSTEMS.
(This used to be commit adc8a019b6da256f104abed1b82bfde6998a2ac9)
|
|
(This used to be commit 51b4270513752d2eafbe77f9de598de16ef84a1f)
|
|
(This used to be commit 9c37f847d32d2f327a88c53a90af0c73126b76be)
|
|
(This used to be commit aac1b99b362993352d80692afa55c38fc851c016)
|
|
epoll support
(This used to be commit 71eb159f9cc00e8de23a8700cea0e7a3be8c64d4)
|
|
metze
(This used to be commit 75a98047d6829cadf4b9082bec2733055dad3465)
|
|
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)
|
|
you don't ask for.
with this patch the epoll mode behaves like the select mode
metze
(This used to be commit f26c28a3ae7951657cc304659f3d19c16f462dd8)
|
|
let our code make it explicit, to make it clear
metze
(This used to be commit cf733e2684ab0d43d83b1ab5c9d178d895f768a1)
|
|
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)
|
|
the events backend can store private flags
- add function to access the gtk event loop ops struct
metze
(This used to be commit a5cc0758a393f36a770cdd57e317214d03934c13)
|
|
metze
(This used to be commit 62c4ae8dde918d8393a3b181a5cac1be1e57e158)
|
|
metze
(This used to be commit 1dd5bb60a5047b94034eb084473bb8f4a9926e7c)
|
|
(This used to be commit 24e10300906c380919d2d631bfb3b8fd6b3f54ba)
|
|
http://lists.samba.org/archive/samba-technical/2005-October/043443.html)
(This used to be commit 7fffc5c9178158249be632ac0ca179c13bd1f98f)
|
|
around
prevents the memory from being freed.
Thanks,
Volker
(This used to be commit df8eeb01f498568207a4a8d5d12348c473f41799)
|
|
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)
|
|
then StaticLibrary()
(This used to be commit b53313dc517986c69a4e4cb8fe3885b696f8faa1)
|
|
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)
|
|
but final linking still fails (as does generating files asn1, et, idl and proto
files)
(This used to be commit 4f0d7f75b99c7f4388d8acb0838577d86baf68b5)
|
|
added a comment about event_context_find()
(This used to be commit 9c230082215dd1f7f19f6b797e7f0c60a9e933fd)
|
|
- 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)
|
|
strcmp.
Volker
(This used to be commit 6f5bd7602155413029de32295d2639c4073ad4d8)
|
|
timeval_diff is
not strictly a subtraction function, there can't be negative timevals.
Volker
(This used to be commit 525d75dd24f6a8810f1ed2043d170c70b060f1f0)
|
|
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)
|
|
up earlier!
(This used to be commit 517028870747338fe96fd7607ec507e5577b67a9)
|
|
less scalable. It only needs to be recalculated when we the highest fd
is destroyed.
(This used to be commit 568b9175f329f594404c9091ee5946670c40697e)
|
|
when linking though.
(This used to be commit 2e1e8db6dc877eb32b51cfc3d9c8f463d14530ec)
|
|
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)
|
|
metze
(This used to be commit 67bf637e9a44202061fd71c92142f835ba76da89)
|
|
implementations possible
metze
(This used to be commit dd77ec754b811feb147458d76fa16833767dccea)
|
|
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)
|
|
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)
|
|
- 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)
|
|
(This used to be commit e820fca5062026810c5bd4827941f34c19a5e847)
|
|
+/* 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)
|
|
sorted. Hopefully it really works now :-)
(This used to be commit 34e1a3ad7849df913584074ec406c2fcc40212fc)
|
|
(This used to be commit d89b493aaf690ceb107bd62df75f1bba82284f90)
|
|
fallback to select(). This can happen in too many situations.
(This used to be commit 2d7242f2ec945c1e5fbc6f256265471f60ac8cd9)
|
|
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
|