<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ranch.git/src/ranch_server.erl, branch 1.8.0</title>
<subtitle>Socket acceptor pool for TCP protocols.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/'/>
<entry>
<title>Fix a race condition on restart after listener_sup crash</title>
<updated>2018-10-10T14:22:19+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-10-10T14:22:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=7d3c65a6db5e267eb0a3f2503c9fa1264b559e73'/>
<id>7d3c65a6db5e267eb0a3f2503c9fa1264b559e73</id>
<content type='text'>
The race condition occurs when the restart is faster than
the cleaning up. With this commit the restart will perform
the cleanup if it was not done beforehand.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The race condition occurs when the restart is faster than
the cleaning up. With this commit the restart will perform
the cleanup if it was not done beforehand.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean listener options after normal shutdown</title>
<updated>2018-09-17T11:54:02+00:00</updated>
<author>
<name>juhlig</name>
<email>j.uhlig@mailingwork.de</email>
</author>
<published>2018-09-13T13:07:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=fedc4af6432369850cb5e4b7aabfe0512ddfc5a5'/>
<id>fedc4af6432369850cb5e4b7aabfe0512ddfc5a5</id>
<content type='text'>
In addition to cleaning when ranch:stop_listener/1 is called, we
also need to clean when we detect the supervisor is going away
for normal reasons, because the supervisor might be in another
application's supervision tree.

Note that there might be a short delay in this case before the
cleanup is done, due to using monitors for detection.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In addition to cleaning when ranch:stop_listener/1 is called, we
also need to clean when we detect the supervisor is going away
for normal reasons, because the supervisor might be in another
application's supervision tree.

Note that there might be a short delay in this case before the
cleanup is done, due to using monitors for detection.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure listener restart with changed TransOpts</title>
<updated>2018-05-16T15:16:56+00:00</updated>
<author>
<name>j.uhlig</name>
<email>j.uhlig@mailingwork.de</email>
</author>
<published>2018-05-04T14:23:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=963f53942f1106771e91a018ac9ad46e3bc6a777'/>
<id>963f53942f1106771e91a018ac9ad46e3bc6a777</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add suspend/resume of listeners and update of transport options</title>
<updated>2018-05-02T15:21:11+00:00</updated>
<author>
<name>j.uhlig</name>
<email>j.uhlig@mailingwork.de</email>
</author>
<published>2018-04-09T10:53:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=7006c50c3ed6c3cbcb24e9e88a76ebd1aaf3a5f8'/>
<id>7006c50c3ed6c3cbcb24e9e88a76ebd1aaf3a5f8</id>
<content type='text'>
This allows graceful draining of connections, updating transport
options on a running listener without having to drop connections
and other similar scenarios.

Note that when updating transport options the listener must be
suspended which means that new connections will be rejected until
the listener is resumed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows graceful draining of connections, updating transport
options on a running listener without having to drop connections
and other similar scenarios.

Note that when updating transport options the listener must be
suspended which means that new connections will be rejected until
the listener is resumed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ranch 1.5.0</title>
<updated>2018-04-10T08:57:42+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-04-10T08:57:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=8eaae552ec520605b7f4b0e5943256d2b5e3621c'/>
<id>8eaae552ec520605b7f4b0e5943256d2b5e3621c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix ranch:info/0 and ranch:procs/2 in embedded mode</title>
<updated>2018-03-14T15:04:15+00:00</updated>
<author>
<name>j.uhlig</name>
<email>j.uhlig@mailingwork.de</email>
</author>
<published>2018-03-13T08:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=fa608621bfedbb981657d2d09e2b321dddc0ad8e'/>
<id>fa608621bfedbb981657d2d09e2b321dddc0ad8e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Copyright to 2017</title>
<updated>2017-06-07T13:08:19+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-06-07T13:08:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=55c2a9d623454f372a15e99721a37093d8773b48'/>
<id>55c2a9d623454f372a15e99721a37093d8773b48</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2016-11-24T10:55:16+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-11-24T10:55:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=bfd3be14728975f4f9ce6ce48139513d7964f4e8'/>
<id>bfd3be14728975f4f9ce6ce48139513d7964f4e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent a race condition when stopping listeners</title>
<updated>2016-10-10T12:36:28+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-10T12:36:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=61e0d3f7841257aad8c894b170941aa7bbad2a89'/>
<id>61e0d3f7841257aad8c894b170941aa7bbad2a89</id>
<content type='text'>
In some cases the ranch_server:get_connections_sup/1 call could
still succeed depending on timing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some cases the ranch_server:get_connections_sup/1 call could
still succeed depending on timing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore ets:delete/2 return value, always true</title>
<updated>2016-10-10T12:29:41+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-10T12:29:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=361c065519bb221ff64bdebd6059c8716cd61180'/>
<id>361c065519bb221ff64bdebd6059c8716cd61180</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
