<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git, branch OTP-21.0.8</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Updated OTP version</title>
<updated>2018-09-05T18:53:39+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-09-05T18:53:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=30e5321740b96b3a8984611b6f821692716d0555'/>
<id>30e5321740b96b3a8984611b6f821692716d0555</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes</title>
<updated>2018-09-05T18:53:36+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-09-05T18:53:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=12d2c65ed477e9fde9a411727de4cc67c53b1a1c'/>
<id>12d2c65ed477e9fde9a411727de4cc67c53b1a1c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update version numbers</title>
<updated>2018-09-05T18:53:24+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-09-05T18:53:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=245a3e53b3d8f324b82ab56f06f8df3cf580f860'/>
<id>245a3e53b3d8f324b82ab56f06f8df3cf580f860</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 'sverker/net_kernel-missing-aborts/OTP-15280' into maint-21</title>
<updated>2018-09-05T18:53:23+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-09-05T18:53:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bd6dc09951def74889599b4334085618dc8a81d7'/>
<id>bd6dc09951def74889599b4334085618dc8a81d7</id>
<content type='text'>
* sverker/net_kernel-missing-aborts/OTP-15280:
  kernel: Fix missing abort_connection in net_kernel
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sverker/net_kernel-missing-aborts/OTP-15280:
  kernel: Fix missing abort_connection in net_kernel
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'rickard/dist-entry-gc-fix/OTP-15279' into maint-21</title>
<updated>2018-09-05T18:53:23+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-09-05T18:53:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=578af0ffd9d8cbcef86ae140f3dabc96c291d4b2'/>
<id>578af0ffd9d8cbcef86ae140f3dabc96c291d4b2</id>
<content type='text'>
* rickard/dist-entry-gc-fix/OTP-15279:
  Prevent inconsistent node lists
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* rickard/dist-entry-gc-fix/OTP-15279:
  Prevent inconsistent node lists
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'max-au/handle_signals_before_dirty_gc/OTP-15275' into maint-21</title>
<updated>2018-09-05T18:53:22+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-09-05T18:53:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f47b61279e884586707f09d2bdd2f411434801da'/>
<id>f47b61279e884586707f09d2bdd2f411434801da</id>
<content type='text'>
* max-au/handle_signals_before_dirty_gc/OTP-15275:
  Fix an endless rescheduling loop when a process is executing process_info(self(), ...)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* max-au/handle_signals_before_dirty_gc/OTP-15275:
  Fix an endless rescheduling loop when a process is executing process_info(self(), ...)
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: Fix missing abort_connection in net_kernel</title>
<updated>2018-09-05T18:36:17+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-09-05T14:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=129ec8648ec42c84e315387538310f0e5eb35d66'/>
<id>129ec8648ec42c84e315387538310f0e5eb35d66</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent inconsistent node lists</title>
<updated>2018-09-05T14:30:19+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2018-09-05T14:04:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a31216200bdee2c04b3fb3ae5e26607674715c8a'/>
<id>a31216200bdee2c04b3fb3ae5e26607674715c8a</id>
<content type='text'>
If net_kernel "forgets" to abort a connection (as it currently might),
the garbage collection of a distribution entry could cause node lists
to enter an inconsistent state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If net_kernel "forgets" to abort a connection (as it currently might),
the garbage collection of a distribution entry could cause node lists
to enter an inconsistent state.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix an endless rescheduling loop when a process is executing process_info(self(), ...)</title>
<updated>2018-08-31T16:37:04+00:00</updated>
<author>
<name>Maxim Fedorov</name>
<email>dane@whatsapp.com</email>
</author>
<published>2018-08-28T23:11:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=93ad08d8c6d6a9875a10b33633aca52de5d3c59b'/>
<id>93ad08d8c6d6a9875a10b33633aca52de5d3c59b</id>
<content type='text'>
It is possible that a process has to yield before completing process_info BIF when it runs out of reductions. If this BIF is called by the process itself, it does not send a signal but executes in the context of a process. If it has to yield, it turns F_LOCAL_SIGS_ONLY flag on, which means new signals won't be fetched from the outer message queue.
When the same process needs to execute dirty system code (e.g. dirty GC) it has to be run on a dirty scheduler. However signals enqueued into outer queue cause it to be rescheduled on a normal scheduler. F_LOCAL_SIGS_ONLY prevent outer queue signals delivery, creating an endless rescheduling loop.

This commit disengages F_LOCAL_SIG_ONLY if process needs to execute dirty code in order to complete signal delivery and allow process to be moved to dirty run queue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is possible that a process has to yield before completing process_info BIF when it runs out of reductions. If this BIF is called by the process itself, it does not send a signal but executes in the context of a process. If it has to yield, it turns F_LOCAL_SIGS_ONLY flag on, which means new signals won't be fetched from the outer message queue.
When the same process needs to execute dirty system code (e.g. dirty GC) it has to be run on a dirty scheduler. However signals enqueued into outer queue cause it to be rescheduled on a normal scheduler. F_LOCAL_SIGS_ONLY prevent outer queue signals delivery, creating an endless rescheduling loop.

This commit disengages F_LOCAL_SIG_ONLY if process needs to execute dirty code in order to complete signal delivery and allow process to be moved to dirty run queue.
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated OTP version</title>
<updated>2018-08-29T11:32:15+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2018-08-29T11:32:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f7012b7a731924193cf05fc77b103e89bd0fcbfb'/>
<id>f7012b7a731924193cf05fc77b103e89bd0fcbfb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
