<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/kernel/src, branch bjorn/contributing</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Update copyright-year</title>
<updated>2016-12-07T12:15:31+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2016-12-07T12:15:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3eddb0f762de248d3230b38bc9d478bfbc8e7331'/>
<id>3eddb0f762de248d3230b38bc9d478bfbc8e7331</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 'gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022' into maint</title>
<updated>2016-11-09T07:30:48+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2016-11-09T07:30:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=992c594106ca23cd4120249cd904f6ffa7bdd13e'/>
<id>992c594106ca23cd4120249cd904f6ffa7bdd13e</id>
<content type='text'>
* gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022:
  controlling_process can return {error, badarg}
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022:
  controlling_process can return {error, badarg}
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sverker/kernel-erts-dependency/OTP-14003' into maint</title>
<updated>2016-11-03T15:25:47+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2016-11-03T15:25:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2dc2442055672245b612552bd767c8d4e09bc7ae'/>
<id>2dc2442055672245b612552bd767c8d4e09bc7ae</id>
<content type='text'>
* sverker/kernel-erts-dependency:
  kernel: Add lost dependency to erts-8.1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sverker/kernel-erts-dependency:
  kernel: Add lost dependency to erts-8.1
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: Add lost dependency to erts-8.1</title>
<updated>2016-10-31T16:20:54+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2016-10-31T16:20:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1c3dc406736e13a38d6a70fc82027d3f3f846b13'/>
<id>1c3dc406736e13a38d6a70fc82027d3f3f846b13</id>
<content type='text'>
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903)
erts_code_purger:finish_after_on_load/2 was added
and called by code_server.erl.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903)
erts_code_purger:finish_after_on_load/2 was added
and called by code_server.erl.
</pre>
</div>
</content>
</entry>
<entry>
<title>controlling_process can return {error, badarg}</title>
<updated>2016-10-27T20:15:12+00:00</updated>
<author>
<name>Péter Gömöri</name>
<email>gomoripeti@gmail.com</email>
</author>
<published>2016-10-19T23:05:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=70526ab4e8b5a0d84c5cfd27557a481707420ce2'/>
<id>70526ab4e8b5a0d84c5cfd27557a481707420ce2</id>
<content type='text'>
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return
badarg if erlang:port_connect/2 fails with badarg. This can easily
happen if the new owner is not alive but in some race condition also
when the socket is closed right before port_connect/2 (and after the
previous socket function)
This commit documents this behaviour.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return
badarg if erlang:port_connect/2 fails with badarg. This can easily
happen if the new owner is not alive but in some race condition also
when the socket is closed right before port_connect/2 (and after the
previous socket function)
This commit documents this behaviour.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update appups in kernel and stdlib for OTP versions &gt; 19.1</title>
<updated>2016-09-26T14:58:03+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2016-09-26T14:58:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2e232b0449ca9aa0fd1854672cb87f902323ccdf'/>
<id>2e232b0449ca9aa0fd1854672cb87f902323ccdf</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 'raimo/diffserv-socket-option/OTP-13582' into maint</title>
<updated>2016-09-15T13:20:32+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2016-09-15T13:20:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=996a0630f2d20557c2f981106a4c316ac6a360ff'/>
<id>996a0630f2d20557c2f981106a4c316ac6a360ff</id>
<content type='text'>
* raimo/diffserv-socket-option/OTP-13582:
  Tune 'tclass' semantics
  Implement IPV6_TCLASS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* raimo/diffserv-socket-option/OTP-13582:
  Tune 'tclass' semantics
  Implement IPV6_TCLASS
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'bjorn/erts/on_load/ERL-240/OTP-13893' into maint</title>
<updated>2016-09-15T08:16:28+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-09-15T08:16:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=fde238fb52133a6c7a2a3f2a2e16f1c1bef62394'/>
<id>fde238fb52133a6c7a2a3f2a2e16f1c1bef62394</id>
<content type='text'>
* bjorn/erts/on_load/ERL-240/OTP-13893:
  erts: Add nif_SUITE:t_on_load
  erts: Improve nif_SUITE:upgrade test
  Don't leak old code when loading a modules with an on_load function
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bjorn/erts/on_load/ERL-240/OTP-13893:
  erts: Add nif_SUITE:t_on_load
  erts: Improve nif_SUITE:upgrade test
  Don't leak old code when loading a modules with an on_load function
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't leak old code when loading a modules with an on_load function</title>
<updated>2016-09-14T10:54:54+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-09-05T14:16:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c70ca686fe269db6079a2ca1c7e09cdfc0cfa903'/>
<id>c70ca686fe269db6079a2ca1c7e09cdfc0cfa903</id>
<content type='text'>
Normally, calling code:delete/1 before re-loading the code for a
module is unnecessary but causes no problem.

But there will be be problems if the new code has an on_load function.
Code with an on_load function will always be loaded as old code
to allowed it to be easily purged if the on_load function would fail.
If the on_load function succeeds, the old and current code will be
swapped.

So in the scenario where code:delete/1 has been called explicitly,
there is old code but no current code. Loading code with an
on_load function will cause the reference to the old code to be
overwritten. That will at best cause a memory leak, and at worst
an emulator crash (especially if NIFs are involved).

To avoid that situation, we will put the code with the on_load
function in a special, third slot in Module.

ERL-240
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Normally, calling code:delete/1 before re-loading the code for a
module is unnecessary but causes no problem.

But there will be be problems if the new code has an on_load function.
Code with an on_load function will always be loaded as old code
to allowed it to be easily purged if the on_load function would fail.
If the on_load function succeeds, the old and current code will be
swapped.

So in the scenario where code:delete/1 has been called explicitly,
there is old code but no current code. Loading code with an
on_load function will cause the reference to the old code to be
overwritten. That will at best cause a memory leak, and at worst
an emulator crash (especially if NIFs are involved).

To avoid that situation, we will put the code with the on_load
function in a special, third slot in Module.

ERL-240
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement IPV6_TCLASS</title>
<updated>2016-09-12T12:54:34+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2016-09-12T08:14:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=82d673f8c9dd39cc78cb7567fe59ebda2b88bf2d'/>
<id>82d673f8c9dd39cc78cb7567fe59ebda2b88bf2d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
