1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-21 03:33:16 +03:00
Commit Graph

12 Commits

Author SHA1 Message Date
Stefan Metzmacher
36bf2f3eaf r2441: set exit code correct when we got EBADF from select()
metze
2007-10-10 12:58:53 -05:00
Stefan Metzmacher
71aa5eeea7 r2319: let event_merge_contexts() return a pointer to the final context
metze
2007-10-10 12:58:43 -05:00
Andrew Bartlett
553b529a09 r2283: Change from tridge (in his ntlm2 patch).
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
2007-10-10 12:58:39 -05:00
Andrew Tridgell
f5d004d8eb r2100: rework the dcerpc client side library so that it is async. We now
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.
2007-10-10 12:58:24 -05:00
Andrew Tridgell
96bf4da3ed r1578: the first stage of the async client rewrite.
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.
2007-10-10 12:57:42 -05:00
Andrew Tridgell
6e102f732e r1517: change event_remove_timed() to remove by structure not by handler.
this fixes a crash bug in smbd with multiple RPC clients
2007-10-10 12:57:38 -05:00
Stefan Metzmacher
af6f1f8a01 r889: convert samba4 to use [u]int16_t instead of [u]int16
metze
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
61ec710518 initilize ev->maxfd = EVENT_INVALID_MAXFD; before the while() loop.
metze
-
Stefan Metzmacher
857e76ef6b - make the recalculation of ev->maxfd a bit more efficient.
- 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
-
Stefan Metzmacher
fffc6cfb6b let the event_add_XXX() function return a pointer of the allocated event structure
and NULL on allacation error.

metze
-
Andrew Tridgell
126fcd4a76 * added a debug thread id hook from jim myers
* 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()
-
Andrew Tridgell
b0510b5428 first public release of samba4 code -