<feed xmlns='http://www.w3.org/2005/Atom'>
<title>samba.git/source3/lib/server_prefork.h, branch talloc-2.1.2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/'/>
<entry>
<title>s3-prefork: Listening fds must be in non-blocking mode</title>
<updated>2011-08-21T13:05:07+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-18T16:35:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=51d4b3c55d6e14f9bf9de24367f9f76ba20fa393'/>
<id>51d4b3c55d6e14f9bf9de24367f9f76ba20fa393</id>
<content type='text'>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Fix code to retire children</title>
<updated>2011-08-21T13:05:06+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-18T14:31:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=7bb4b991a54c85e7ca9fcfd15f85a38940ce6dfe'/>
<id>7bb4b991a54c85e7ca9fcfd15f85a38940ce6dfe</id>
<content type='text'>
We have to be more careful when retiring children. We cannot stop
accepting connections as soon as the server tells us to quit because if
max_children is reached and we still have clients connected, the server will
not be able to spawn new children until one exits. And children will not exit
until all the clients closed the connections. So we keep operating past our
recall until we have 0 connections.
Also do not try to recall children that still have &gt;= 1 clients connected, they
couldn't anyway.
Also use messaging to warn children and not SIGHUP.

Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have to be more careful when retiring children. We cannot stop
accepting connections as soon as the server tells us to quit because if
max_children is reached and we still have clients connected, the server will
not be able to spawn new children until one exits. And children will not exit
until all the clients closed the connections. So we keep operating past our
recall until we have 0 connections.
Also do not try to recall children that still have &gt;= 1 clients connected, they
couldn't anyway.
Also use messaging to warn children and not SIGHUP.

Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Add parent-&gt;client messaging</title>
<updated>2011-08-21T13:05:06+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-17T19:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=91ba8aec13f42c83190c5cecf4ec7e0e80d91dcc'/>
<id>91ba8aec13f42c83190c5cecf4ec7e0e80d91dcc</id>
<content type='text'>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Improve heuristics</title>
<updated>2011-08-21T13:05:05+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-16T22:20:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=75f3da76e48df79c21e65354768d3f581053127e'/>
<id>75f3da76e48df79c21e65354768d3f581053127e</id>
<content type='text'>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Fix worker flags handling.</title>
<updated>2011-08-21T13:05:05+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-16T15:37:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=e3736f826b434bcdff5493fc533c11eba9bedc61'/>
<id>e3736f826b434bcdff5493fc533c11eba9bedc61</id>
<content type='text'>
We can't have a clear idea of wether the worker is IDLE or BUSY.
The only things we can tell is if it is Alive, whether it is currently
Accepting connections or wether it is Exiting soon.

Remove PF_WORKER_IDLE, PF_WORKER_BUSY and replace their use with
PF_WORKER_ALIVE. Also properly assign PF_WORKER_ACCEPTING so that
users of the API can rely on the flag.

Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can't have a clear idea of wether the worker is IDLE or BUSY.
The only things we can tell is if it is Alive, whether it is currently
Accepting connections or wether it is Exiting soon.

Remove PF_WORKER_IDLE, PF_WORKER_BUSY and replace their use with
PF_WORKER_ALIVE. Also properly assign PF_WORKER_ACCEPTING so that
users of the API can rely on the flag.

Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: do not use a lock_fd, just race on accept()</title>
<updated>2011-08-21T13:05:05+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-16T13:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=ee0c69a25e7a0dca0c54989b1d6887a114d93ed4'/>
<id>ee0c69a25e7a0dca0c54989b1d6887a114d93ed4</id>
<content type='text'>
We used a lock mimicking what apache does for preforked children.
But it doesn't work properly in our case because we do not stop once a request
has been served. Clients are allowed to perform multiple requests and keep the
connection open.
This means that if we allow multiple clients per children, then a child could
take the lock and then be asked to do a long or even locking operation by a
client it already is serving. This woulkd cause the whole server to deadlock,
as the child is now busy and also holding on the lock.
Using a race on accept() by having a tevent_fd on the listening socket wait
for read events we never deadlock. At most we cause a bit of contention among
children. But in the generic case connections are much less frequent for us as
clients tend to be long lived. So the little contention we may have is not a
big deal.

Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We used a lock mimicking what apache does for preforked children.
But it doesn't work properly in our case because we do not stop once a request
has been served. Clients are allowed to perform multiple requests and keep the
connection open.
This means that if we allow multiple clients per children, then a child could
take the lock and then be asked to do a long or even locking operation by a
client it already is serving. This woulkd cause the whole server to deadlock,
as the child is now busy and also holding on the lock.
Using a race on accept() by having a tevent_fd on the listening socket wait
for read events we never deadlock. At most we cause a bit of contention among
children. But in the generic case connections are much less frequent for us as
clients tend to be long lived. So the little contention we may have is not a
big deal.

Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Allow better management of allowed_clients</title>
<updated>2011-08-21T13:05:04+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-12T16:24:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=2a0aac0adcdccc165f5d511d7a1c1d6d0c5d7c9b'/>
<id>2a0aac0adcdccc165f5d511d7a1c1d6d0c5d7c9b</id>
<content type='text'>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
Signed-off-by: Simo Sorce &lt;idra@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3: Fix some typos -- Simo, please check</title>
<updated>2011-08-10T17:40:58+00:00</updated>
<author>
<name>Volker Lendecke</name>
<email>vl@samba.org</email>
</author>
<published>2011-08-10T17:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=63435f9ef2123596f714c1ec816c9a27d8f0e1e8'/>
<id>63435f9ef2123596f714c1ec816c9a27d8f0e1e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Pass the child a child_id</title>
<updated>2011-08-10T16:14:05+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-08-05T14:34:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=fa893e815ba538e2a28302bfc17a75fac9e7aaa4'/>
<id>fa893e815ba538e2a28302bfc17a75fac9e7aaa4</id>
<content type='text'>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s3-prefork: Return tsocket_address for client and server</title>
<updated>2011-08-10T16:14:04+00:00</updated>
<author>
<name>Simo Sorce</name>
<email>idra@samba.org</email>
</author>
<published>2011-07-19T19:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/samba.git/commit/?id=227551a07bc1af29ff2e24d889ea7dd45d575773'/>
<id>227551a07bc1af29ff2e24d889ea7dd45d575773</id>
<content type='text'>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andreas Schneider &lt;asn@samba.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
