<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/kernel/src, branch OTP-18.0</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Change license text to APLv2</title>
<updated>2015-06-18T09:31:02+00:00</updated>
<author>
<name>Bruce Yinhe</name>
<email>bruce@erlang.org</email>
</author>
<published>2015-06-18T09:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=738c34d4bb8f1a3811acd00af8c6c12107f8315b'/>
<id>738c34d4bb8f1a3811acd00af8c6c12107f8315b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'nybek/fix_so_linger_zero__simple'</title>
<updated>2015-06-17T07:35:14+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2015-06-17T07:35:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5fc3d37e65d31dea7938750a3d75c7a1f7ebbd25'/>
<id>5fc3d37e65d31dea7938750a3d75c7a1f7ebbd25</id>
<content type='text'>
* nybek/fix_so_linger_zero__simple:
  Update prim_inet.beam
  Fix socket option {linger, {true, 0}} to abort TCP connections
  Apply 'show_econnreset' socket option to send errors as well
  Add 'show_econnreset' TCP socket option
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nybek/fix_so_linger_zero__simple:
  Update prim_inet.beam
  Fix socket option {linger, {true, 0}} to abort TCP connections
  Apply 'show_econnreset' socket option to send errors as well
  Add 'show_econnreset' TCP socket option
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo in comment</title>
<updated>2015-06-16T14:38:27+00:00</updated>
<author>
<name>Yuki Ito</name>
<email>yuki@gnnk.net</email>
</author>
<published>2015-06-08T08:04:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=db804ae52eba82e43e1c2cb01c29bb9c64a69023'/>
<id>db804ae52eba82e43e1c2cb01c29bb9c64a69023</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'egil/fix-cover-error_logger/OTP-12818'</title>
<updated>2015-06-10T12:37:17+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2015-06-10T12:37:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d8f343b234174d49bc66d5bddbe79f24400868e6'/>
<id>d8f343b234174d49bc66d5bddbe79f24400868e6</id>
<content type='text'>
* egil/fix-cover-error_logger/OTP-12818:
  cover: Unstick modules before loading remote
  kernel: Add module name to sticky_dir error message
  kernel: Remove ?line macros in error_logger_warn_SUITE
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* egil/fix-cover-error_logger/OTP-12818:
  cover: Unstick modules before loading remote
  kernel: Add module name to sticky_dir error message
  kernel: Remove ?line macros in error_logger_warn_SUITE
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'richcarl/avoid-try-native-load'</title>
<updated>2015-06-10T10:52:05+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2015-06-10T10:51:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=355f4b567baf84c9ec3f61f70eaf64ff20500fd5'/>
<id>355f4b567baf84c9ec3f61f70eaf64ff20500fd5</id>
<content type='text'>
* richcarl/avoid-try-native-load:
  Update list of funcalls in kernel code_SUITE
  Move architecture knowledge out of hipe loader
  Avoid repeated calls to system_info in hipe loader
  Avoid exception overhead if HiPE is disabled
  HiPE help shouldn't modify the calling process

OTP-12816
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* richcarl/avoid-try-native-load:
  Update list of funcalls in kernel code_SUITE
  Move architecture knowledge out of hipe loader
  Avoid repeated calls to system_info in hipe loader
  Avoid exception overhead if HiPE is disabled
  HiPE help shouldn't modify the calling process

OTP-12816
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'show_econnreset' TCP socket option</title>
<updated>2015-06-09T19:50:06+00:00</updated>
<author>
<name>Rory Byrne</name>
<email>rory@nybek.com</email>
</author>
<published>2015-04-20T09:57:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4f63e427f1345b40b484ef16f6ff5e922bf14dac'/>
<id>4f63e427f1345b40b484ef16f6ff5e922bf14dac</id>
<content type='text'>
An ECONNRESET is a socket error which tells us that a TCP peer has sent
an RST. The RST indicates that they have aborted the connection and
that the payload we have received should not be considered complete. Up
until now, the implementation of TCP in inet_drv.c has hidden the
receipt of the RST from the user, treating it as though it was just
a FIN terminating the read side of the socket.

There are many cases where user code needs to be able to distinguish
between a socket that was closed normally and one that was aborted.
Setting the option {show_econnreset, true} enables the user to receive
ECONNRESET errors on both active and passive sockets.

A connected socket returned from gen_tcp:accept/1 will inherit the
show_econnreset setting of the listening socket.

By default this option is set to {show_econnreset, false}.

Note that this patch only enables the reporting of ECONNRESET when
the socket is being read from. It does not report ECONNRESET (or
EPIPE) when the user tries to write to a connection when an RST
has already been received. Currently the TCP implementation in
inet_drv.c hides all such send errors from the user in favour
of returning {error, close}. A separate patch will be needed to
enable the reporting of such errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An ECONNRESET is a socket error which tells us that a TCP peer has sent
an RST. The RST indicates that they have aborted the connection and
that the payload we have received should not be considered complete. Up
until now, the implementation of TCP in inet_drv.c has hidden the
receipt of the RST from the user, treating it as though it was just
a FIN terminating the read side of the socket.

There are many cases where user code needs to be able to distinguish
between a socket that was closed normally and one that was aborted.
Setting the option {show_econnreset, true} enables the user to receive
ECONNRESET errors on both active and passive sockets.

A connected socket returned from gen_tcp:accept/1 will inherit the
show_econnreset setting of the listening socket.

By default this option is set to {show_econnreset, false}.

Note that this patch only enables the reporting of ECONNRESET when
the socket is being read from. It does not report ECONNRESET (or
EPIPE) when the user tries to write to a connection when an RST
has already been received. Currently the TCP implementation in
inet_drv.c hides all such send errors from the user in favour
of returning {error, close}. A separate patch will be needed to
enable the reporting of such errors.
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: Add module name to sticky_dir error message</title>
<updated>2015-06-08T15:00:22+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2015-06-08T15:00:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=18d74eec0a6035cadb97e6df381835682250a134'/>
<id>18d74eec0a6035cadb97e6df381835682250a134</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: Fix inet time conversion</title>
<updated>2015-06-08T12:03:37+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2015-06-05T16:09:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2150c3a4dff01eef9479cbdb14e2a2d2b4cbe467'/>
<id>2150c3a4dff01eef9479cbdb14e2a2d2b4cbe467</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move architecture knowledge out of hipe loader</title>
<updated>2015-06-04T08:31:36+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2015-04-20T12:27:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ccdcb7a5c7b2c3bc1b50a5314b3045c0782d76bd'/>
<id>ccdcb7a5c7b2c3bc1b50a5314b3045c0782d76bd</id>
<content type='text'>
Make code_server be responsible for finding the architecture and deciding
whether to try to load native code, in order to avoid repeated calls to
system_info(hipe_architecture) and clumsy uses of try/catch to test if hipe
is enabled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make code_server be responsible for finding the architecture and deciding
whether to try to load native code, in order to avoid repeated calls to
system_info(hipe_architecture) and clumsy uses of try/catch to test if hipe
is enabled.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid repeated calls to system_info in hipe loader</title>
<updated>2015-06-04T08:27:20+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2015-04-29T12:25:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c67741f8c505a9c17ffaf60f1cc37458b7e1301c'/>
<id>c67741f8c505a9c17ffaf60f1cc37458b7e1301c</id>
<content type='text'>
Make hipe_unified_loader not call system_info(hipe_architecture) repeatedly.
Also clean up some ugly architecture-dependent case switches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make hipe_unified_loader not call system_info(hipe_architecture) repeatedly.
Also clean up some ugly architecture-dependent case switches.
</pre>
</div>
</content>
</entry>
</feed>
