<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/kernel, branch OTP-19.1.1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Prepare release</title>
<updated>2016-09-20T07:36:54+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2016-09-20T07:36:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=37e14c395a0d3621d65552b3954856d1cbeaed9a'/>
<id>37e14c395a0d3621d65552b3954856d1cbeaed9a</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>Tune 'tclass' semantics</title>
<updated>2016-09-14T06:42:15+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2016-09-13T07:40:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8d5a41b9eeae54d1135c570878fecc2ad3ad1d8e'/>
<id>8d5a41b9eeae54d1135c570878fecc2ad3ad1d8e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
<entry>
<title>Fix incorrect priv_dir when adding app's ebin directory to path</title>
<updated>2016-09-07T22:18:48+00:00</updated>
<author>
<name>Peter Andersson</name>
<email>peppe@erlang.org</email>
</author>
<published>2016-07-20T15:31:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c376e2a0fd5cc77ce6be99279a601e680b86a1b4'/>
<id>c376e2a0fd5cc77ce6be99279a601e680b86a1b4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: Correct file(3)</title>
<updated>2016-09-06T07:42:38+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2016-09-06T07:42:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5b07e582ce6175d169e3e0d4c824e77ea336be6a'/>
<id>5b07e582ce6175d169e3e0d4c824e77ea336be6a</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 'lukas/kernel/os_cmd_fix_stdin_close/OTP-13867' into maint</title>
<updated>2016-09-05T15:08:40+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2016-09-05T15:08:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bb8d105fd6d5b09097dc64b341d63f0f8d7e8906'/>
<id>bb8d105fd6d5b09097dc64b341d63f0f8d7e8906</id>
<content type='text'>
* lukas/kernel/os_cmd_fix_stdin_close/OTP-13867:
  kernel: Close stdin of commands run in os:cmd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lukas/kernel/os_cmd_fix_stdin_close/OTP-13867:
  kernel: Close stdin of commands run in os:cmd
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'lukas/kernel/fix_os_SUITE_message_leak_testcase/OTP-13867' into maint</title>
<updated>2016-09-05T15:07:40+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2016-09-05T15:07:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c26f34c7c8940de2ade904d86e581f2c7463549f'/>
<id>c26f34c7c8940de2ade904d86e581f2c7463549f</id>
<content type='text'>
* lukas/kernel/fix_os_SUITE_message_leak_testcase/OTP-13867:
  kernerl: Remove infinite loop from testcase
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lukas/kernel/fix_os_SUITE_message_leak_testcase/OTP-13867:
  kernerl: Remove infinite loop from testcase
</pre>
</div>
</content>
</entry>
</feed>
