1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00

21 Commits

Author SHA1 Message Date
Andrew Tridgell
d327eb01bd r4756: a slight tidy up in the events code
(This used to be commit d2f76c3671df0b0232982e2fbfd5c049c9fb674f)
2007-10-10 13:08:50 -05:00
Andrew Tridgell
cc55aef7c1 r4547: - added talloc_new(ctx) macro that is a neater form of the common talloc(ctx, 0) call.
- cleaned up some talloc usage in various files

I'd like to get to the point that we have no calls to talloc(), at
which point we will rename talloc_p() to talloc(), to encourage
everyone to use the typesafe functions.
(This used to be commit e6c81d7c9f8a6938947d3c1c8a971a0d6d50b67a)
2007-10-10 13:08:20 -05:00
Andrew Tridgell
dde0705807 r3507: - added deferred replies on sharing violation in pvfs open. The
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-10 13:05:23 -05:00
Andrew Tridgell
a99b6219a8 r3481: split out client.h and events.h
(This used to be commit c6f486574470a311e0d336c026103f131451e21e)
2007-10-10 13:05:20 -05:00
Andrew Tridgell
3643fb1109 r3463: separated out some more headers (asn_1.h, messages.h, dlinklist.h and ioctl.h)
(This used to be commit b97e395c814762024336c1cf4d7c25be8da5813a)
2007-10-10 13:05:17 -05:00
Andrew Tridgell
ead3508ac8 r3447: more include/system/XXX.h include files
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10 13:05:12 -05:00
Andrew Tridgell
d37acd0fe7 r3028: use talloc_free() instead of talloc_unlink(), as the
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-10 12:59:59 -05:00
Andrew Tridgell
53891ed37e r3017: nicer memory handling for event_context_merge()
(This used to be commit 1cef44505e5de9b8ae5206522b624082ad2343b2)
2007-10-10 12:59:58 -05:00
Andrew Tridgell
6591a22614 r3016: - converted the events code to talloc
- 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-10 12:59:57 -05:00
Stefan Metzmacher
61ef245372 r2441: set exit code correct when we got EBADF from select()
metze
(This used to be commit 36bf2f3eaf2e7568563cd98dc941d20f4574d271)
2007-10-10 12:58:53 -05:00
Stefan Metzmacher
59b0902d08 r2319: let event_merge_contexts() return a pointer to the final context
metze
(This used to be commit 71aa5eeea73ea42e04ae224914b6815d72c1690a)
2007-10-10 12:58:43 -05:00
Andrew Bartlett
4490c816a9 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
(This used to be commit 553b529a0991ccf2f1be14cc6a27695223f02e65)
2007-10-10 12:58:39 -05:00
Andrew Tridgell
e7f36ff1a5 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.
(This used to be commit f5d004d8eb8c76c03342cace1976b27266cfa1f0)
2007-10-10 12:58:24 -05:00
Andrew Tridgell
5ddf678e01 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.
(This used to be commit 96bf4da3edc4d64b0f58ef520269f3b385b8da02)
2007-10-10 12:57:42 -05:00
Andrew Tridgell
eeec610983 r1517: change event_remove_timed() to remove by structure not by handler.
this fixes a crash bug in smbd with multiple RPC clients
(This used to be commit 6e102f732e4404fc5f9b2851d12b00d2d083b43d)
2007-10-10 12:57:38 -05:00
Stefan Metzmacher
f88bf54c7f r889: convert samba4 to use [u]int16_t instead of [u]int16
metze
(This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
55dfa23e41 initilize ev->maxfd = EVENT_INVALID_MAXFD; before the while() loop.
metze
(This used to be commit 61ec710518469876ccc48d57b5fee5d6ead3d482)
2004-01-22 01:56:31 +00:00
Stefan Metzmacher
d8ee9d7a0e - 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
(This used to be commit 857e76ef6b891c199534db6ce229410340286461)
2004-01-22 01:35:51 +00:00
Stefan Metzmacher
aafd0efc58 let the event_add_XXX() function return a pointer of the allocated event structure
and NULL on allacation error.

metze
(This used to be commit fffc6cfb6b9946155d209dd14faa79c5b9d43d1d)
2004-01-21 23:19:59 +00:00
Andrew Tridgell
2e5ae6f065 * 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()
(This used to be commit 126fcd4a76ac029ee4f662ed41b84c791406c324)
2003-12-04 09:52:14 +00:00
Andrew Tridgell
ef2e26c91b first public release of samba4 code
(This used to be commit b0510b5428b3461aeb9bbe3cc95f62fc73e2b97f)
2003-08-13 01:53:07 +00:00