summaryrefslogtreecommitdiff
path: root/source4/lib/events.c
AgeCommit message (Collapse)AuthorFilesLines
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)