summaryrefslogtreecommitdiff
path: root/source4/lib/events.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r3507: - added deferred replies on sharing violation in pvfs open. TheAndrew Tridgell1-15/+8
deferred reply is short-circuited immediately when the file is closed by another user, allowing it to be opened by the waiting user. - added a sane set of timeval manipulation routines - converted all the events code and code that uses it to use struct timeval instead of time_t, which allows for microsecond resolution instead of 1 second resolution. This was needed for doing the pvfs deferred open code, and is why the patch is so big. (This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)
2007-10-10r3481: split out client.h and events.hAndrew Tridgell1-0/+1
(This used to be commit c6f486574470a311e0d336c026103f131451e21e)
2007-10-10r3463: separated out some more headers (asn_1.h, messages.h, dlinklist.h and ↵Andrew Tridgell1-0/+1
ioctl.h) (This used to be commit b97e395c814762024336c1cf4d7c25be8da5813a)
2007-10-10r3447: more include/system/XXX.h include filesAndrew Tridgell1-0/+2
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10r3028: use talloc_free() instead of talloc_unlink(), as theAndrew Tridgell1-3/+3
event_context_merge() code leaves the events as grandchildren of the events context, not children, so talloc_unlink() will not work after the merge (This used to be commit 2d0dfe607dcfb522669d6fb3d566cf121d84274a)
2007-10-10r3017: nicer memory handling for event_context_merge()Andrew Tridgell1-15/+10
(This used to be commit 1cef44505e5de9b8ae5206522b624082ad2343b2)
2007-10-10r3016: - converted the events code to tallocAndrew Tridgell1-37/+9
- added the new messaging system, based on unix domain sockets. It gets over 10k messages/second on my laptop without any socket cacheing, which is better than I expected. - added a LOCAL-MESSAGING torture test (This used to be commit 3af06478da7ab34a272226d8d9ac87e0a4940cfb)
2007-10-10r2441: set exit code correct when we got EBADF from select()Stefan Metzmacher1-0/+1
metze (This used to be commit 36bf2f3eaf2e7568563cd98dc941d20f4574d271)
2007-10-10r2319: let event_merge_contexts() return a pointer to the final contextStefan Metzmacher1-1/+3
metze (This used to be commit 71aa5eeea73ea42e04ae224914b6815d72c1690a)
2007-10-10r2283: Change from tridge (in his ntlm2 patch).Andrew Bartlett1-3/+7
I think the idea here is to bail out correctly when we get signing broken on TCP, rather than keeping on hammering the socket. Andrew Bartlett (This used to be commit 553b529a0991ccf2f1be14cc6a27695223f02e65)
2007-10-10r2100: rework the dcerpc client side library so that it is async. We nowAndrew Tridgell1-1/+1
generate a separate *_send() async function for every RPC call, and there is a single dcerpc_ndr_request_recv() call that processes the receive side of any rpc call. The caller can use dcerpc_event_context() to get a pointer to the event context for the pipe so that events can be waited for asynchronously. The only part that remains synchronous is the initial bind calls. These could also be made async if necessary, although I suspect most applications won't need them to be. (This used to be commit f5d004d8eb8c76c03342cace1976b27266cfa1f0)
2007-10-10r1578: the first stage of the async client rewrite.Andrew Tridgell1-135/+209
Up to now the client code has had an async API, and operated asynchronously at the packet level, but was not truly async in that it assumed that it could always write to the socket and when a partial packet came in that it could block waiting for the rest of the packet. This change makes the SMB client library full async, by adding a separate outgoing packet queue, using non-blocking socket IO and having a input buffer that can fill asynchonously until the full packet has arrived. The main complexity was in dealing with the events structure when using the CIFS proxy backend. In that case the same events structure needs to be used in both the client library and the main smbd server, so that when the client library is waiting for a reply that the main server keeps processing packets. This required some changes in the events library code. Next step is to make the generated rpc client code use these new capabilities. (This used to be commit 96bf4da3edc4d64b0f58ef520269f3b385b8da02)
2007-10-10r1517: change event_remove_timed() to remove by structure not by handler.Andrew Tridgell1-3/+1
this fixes a crash bug in smbd with multiple RPC clients (This used to be commit 6e102f732e4404fc5f9b2851d12b00d2d083b43d)
2007-10-10r889: convert samba4 to use [u]int16_t instead of [u]int16Stefan Metzmacher1-1/+1
metze (This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
2004-01-22initilize ev->maxfd = EVENT_INVALID_MAXFD; before the while() loop.Stefan Metzmacher1-0/+1
metze (This used to be commit 61ec710518469876ccc48d57b5fee5d6ead3d482)
2004-01-22- make the recalculation of ev->maxfd a bit more efficient.Stefan Metzmacher1-35/+50
- fix the case when we have no fd_events left on the event_context we now exit after doing the timed events and not block in select() waiting for no fd's to become ready... metze (This used to be commit 857e76ef6b891c199534db6ce229410340286461)
2004-01-21let the event_add_XXX() function return a pointer of the allocated event ↵Stefan Metzmacher1-12/+12
structure and NULL on allacation error. metze (This used to be commit fffc6cfb6b9946155d209dd14faa79c5b9d43d1d)
2003-12-04* added a debug thread id hook from jim myersAndrew Tridgell1-1/+7
* change to select() from sys_select() in events.c, as sys_select() is not thread safe. We need a new unified signal handling scheme for Samba4, but for now just use select() (This used to be commit 126fcd4a76ac029ee4f662ed41b84c791406c324)
2003-08-13first public release of samba4 codeAndrew Tridgell1-0/+372
(This used to be commit b0510b5428b3461aeb9bbe3cc95f62fc73e2b97f)