<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/kernel/src, branch OTP-21.1.3</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge branch 'sverker/erts/robustify-dist-entry-states/OTP-15297' into maint</title>
<updated>2018-09-18T12:38:58+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-09-18T12:38:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=990c25dc1265c0450ecb47ca73116ccb72a246c8'/>
<id>990c25dc1265c0450ecb47ca73116ccb72a246c8</id>
<content type='text'>
* sverker/erts/robustify-dist-entry-states/OTP-15297:
  erts: Refactor port dist_entry &amp; conn_id into PRTSD
  Remove ugly fail case macros
  Consolidate distribution entry state transitions
  erts: Fix bug in undocumented system_flag(scheduling_statistics)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sverker/erts/robustify-dist-entry-states/OTP-15297:
  erts: Refactor port dist_entry &amp; conn_id into PRTSD
  Remove ugly fail case macros
  Consolidate distribution entry state transitions
  erts: Fix bug in undocumented system_flag(scheduling_statistics)
</pre>
</div>
</content>
</entry>
<entry>
<title>Consolidate distribution entry state transitions</title>
<updated>2018-09-18T12:27:51+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-09-18T12:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a04f3246c1eda7b8d8d83ba2bcc46d502b80d22b'/>
<id>a04f3246c1eda7b8d8d83ba2bcc46d502b80d22b</id>
<content type='text'>
* Make connection_id part of the distribution handle as {ConnId, DistEntry}
  in order for BIFs to verify correct connection.
* Make distribution handle opaque to net_kernel.
* Remove some unsafe lockless reads of DistEntry.flags
* Change state ERTS_DE_STATE_EXITING to be more of an internal state that
  prevents erts from enqueue, encode or schedule new data to be sent. Otherwise
  it should behave like ERTS_DE_STATE_CONNECTED.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make connection_id part of the distribution handle as {ConnId, DistEntry}
  in order for BIFs to verify correct connection.
* Make distribution handle opaque to net_kernel.
* Remove some unsafe lockless reads of DistEntry.flags
* Change state ERTS_DE_STATE_EXITING to be more of an internal state that
  prevents erts from enqueue, encode or schedule new data to be sent. Otherwise
  it should behave like ERTS_DE_STATE_CONNECTED.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145' into maint</title>
<updated>2018-09-17T13:42:01+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2018-09-17T13:42:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d6a08843e473da6eebbab0b0e7312efc978108ee'/>
<id>d6a08843e473da6eebbab0b0e7312efc978108ee</id>
<content type='text'>
* raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145:
  Write testcases for recvtos and friends
  Fix term buffer overflow bug
  Fix documentation due to feedback
  Implement socket option recvtos and friends
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145:
  Write testcases for recvtos and friends
  Fix term buffer overflow bug
  Fix documentation due to feedback
  Implement socket option recvtos and friends
</pre>
</div>
</content>
</entry>
<entry>
<title>[logger] Read config before terminating handler process</title>
<updated>2018-09-14T12:12:13+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-14T12:12:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6073d37a5a0691704d0fa1a5ff9289ba9e35c8ed'/>
<id>6073d37a5a0691704d0fa1a5ff9289ba9e35c8ed</id>
<content type='text'>
When a handler process is terminated due to overload, it reads its
configuration from the configuration database, so it can be restarted
with the same configuration after a small delay. This was earlier done
in a different process, which was spawned off from the terminate
function. This caused a race condition, where in some cases, the
configuration was already removed before it could be read.

The reason for spawning off a process, is to avoid a deadlock due to
the call to logger:remove_handler/1.

This commit moves the call to logger:get_handler_config/1 back to the
handler process - to ensure that the data is still there, but keeps
the call to logger:remove_handler/1 in the spawned off process - to
avoid deadlock.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a handler process is terminated due to overload, it reads its
configuration from the configuration database, so it can be restarted
with the same configuration after a small delay. This was earlier done
in a different process, which was spawned off from the terminate
function. This caused a race condition, where in some cases, the
configuration was already removed before it could be read.

The reason for spawning off a process, is to avoid a deadlock due to
the call to logger:remove_handler/1.

This commit moves the call to logger:get_handler_config/1 back to the
handler process - to ensure that the data is still there, but keeps
the call to logger:remove_handler/1 in the spawned off process - to
avoid deadlock.
</pre>
</div>
</content>
</entry>
<entry>
<title>[error_logger] Handle report_cb with arity 2</title>
<updated>2018-09-12T12:58:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-11T09:18:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=48a1c458a46dcd1f031fd3b9689af80b32b4a6a2'/>
<id>48a1c458a46dcd1f031fd3b9689af80b32b4a6a2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[logger] Include single_line option to report_cb</title>
<updated>2018-09-12T12:58:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-12T12:37:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a4ff9f378ae7008e268d1c2facd44d049be6e930'/>
<id>a4ff9f378ae7008e268d1c2facd44d049be6e930</id>
<content type='text'>
If the report callback function has two arguments, the second argument
is a map with options to limit the size of the log event. To even
allow a better formatting when the event shall be printed on a single
line, the new option single_line is now included in this
argument.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the report callback function has two arguments, the second argument
is a map with options to limit the size of the log event. To even
allow a better formatting when the event shall be printed on a single
line, the new option single_line is now included in this
argument.
</pre>
</div>
</content>
</entry>
<entry>
<title>[logger] Check for deadlock when removing filters</title>
<updated>2018-09-12T12:58:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-11T12:11:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7140fe7679c1ea0862961d2fc34f9d8283c04ca3'/>
<id>7140fe7679c1ea0862961d2fc34f9d8283c04ca3</id>
<content type='text'>
If a filter fails, it is removed by a call to
logger:remove_filter/1,2. If the log event that caused the failure was
issued on the logger process itself, this would earlier cause a
deadlock due to a gen_server:call to self(). This is now prevented.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a filter fails, it is removed by a call to
logger:remove_filter/1,2. If the log event that caused the failure was
issued on the logger process itself, this would earlier cause a
deadlock due to a gen_server:call to self(). This is now prevented.
</pre>
</div>
</content>
</entry>
<entry>
<title>[logger] Fix spec for handler callbacks to always return ok</title>
<updated>2018-09-12T12:58:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-07T14:49:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a98ffe831d2a1cf44d0b7c53e2d72ade9d5a3dbb'/>
<id>a98ffe831d2a1cf44d0b7c53e2d72ade9d5a3dbb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[logger] Improve code coverage in test</title>
<updated>2018-09-12T12:58:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-06T12:30:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=625616652595249ff0866d4de8a04f3c8fa0eec4'/>
<id>625616652595249ff0866d4de8a04f3c8fa0eec4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[logger] Refactor, and add error detection for configuration</title>
<updated>2018-09-12T12:58:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-09-06T11:51:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a9a72da93e9b93a1d7ee9936b8e223545277480e'/>
<id>a9a72da93e9b93a1d7ee9936b8e223545277480e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
