<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/stdlib, branch OTP_R13B04</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Fix escript:foldl/3 for beam and archive files</title>
<updated>2010-02-22T10:28:00+00:00</updated>
<author>
<name>Tuncer Ayaz</name>
<email>tuncer.ayaz@gmail.com</email>
</author>
<published>2010-02-22T10:28:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=e6122102507149e5f4418813c4b0b4f71ea40b2e'/>
<id>e6122102507149e5f4418813c4b0b4f71ea40b2e</id>
<content type='text'>
escript:foldl/3 was not completely adapted to the changes introduced
in 6af2ac91005276add18b1c9bbf4c8fe4f8c6e040.
A partial fix has already been applied by Hakan Mattson in
4ec4a06edb5baaa0af2840943230c4a0be3a93cf.

Signed-off-by: Tuncer Ayaz &lt;tuncer.ayaz@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
escript:foldl/3 was not completely adapted to the changes introduced
in 6af2ac91005276add18b1c9bbf4c8fe4f8c6e040.
A partial fix has already been applied by Hakan Mattson in
4ec4a06edb5baaa0af2840943230c4a0be3a93cf.

Signed-off-by: Tuncer Ayaz &lt;tuncer.ayaz@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes</title>
<updated>2010-02-19T13:31:36+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2010-02-19T11:39:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=745b99ab510ed85ce7ff4b77c83f6c501b24c5cc'/>
<id>745b99ab510ed85ce7ff4b77c83f6c501b24c5cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed a case_clause error in the internal function escript:foldl/3.</title>
<updated>2010-02-15T14:33:04+00:00</updated>
<author>
<name>Håkan Mattsson</name>
<email>hakan@erlang.org</email>
</author>
<published>2010-02-15T14:33:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4ec4a06edb5baaa0af2840943230c4a0be3a93cf'/>
<id>4ec4a06edb5baaa0af2840943230c4a0be3a93cf</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 'bd/doc-fixes' into ccase/r13b04_dev</title>
<updated>2010-02-12T12:09:50+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2010-02-12T12:09:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9518eafc5ee2edd67e97c56e36807beba8f766ed'/>
<id>9518eafc5ee2edd67e97c56e36807beba8f766ed</id>
<content type='text'>
* bd/doc-fixes:
  Fix minor documentation errors
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bd/doc-fixes:
  Fix minor documentation errors
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'ms/pcre-security' into ccase/r13b04_dev</title>
<updated>2010-02-12T09:39:42+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2010-02-12T09:39:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b14ca0fae3dcb3add0f5da7b194fdfc2b0e5f7f8'/>
<id>b14ca0fae3dcb3add0f5da7b194fdfc2b0e5f7f8</id>
<content type='text'>
* ms/pcre-security:
  Fix CVE-2008-2371 (outer level option with alternatives caused crash).

OTP-8438  The re module: A regular expression with an option change at the
          start of a pattern that had top-level alternatives could cause
          overwriting and/or a crash. (Thanks to Michael Santos.)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ms/pcre-security:
  Fix CVE-2008-2371 (outer level option with alternatives caused crash).

OTP-8438  The re module: A regular expression with an option change at the
          start of a pattern that had top-level alternatives could cause
          overwriting and/or a crash. (Thanks to Michael Santos.)</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'jn/supervisor_child_count_only' into ccase/r13b04_dev</title>
<updated>2010-02-12T09:33:53+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2010-02-12T09:33:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=61489ddbe608e1fe7bd2301c55c6446f14e94cd9'/>
<id>61489ddbe608e1fe7bd2301c55c6446f14e94cd9</id>
<content type='text'>
* jn/supervisor_child_count_only:
  Add count_children/1 to supervisor.erl to determine the number of

OTP-8436  Added supervisor:count_children/1 to count the number of children
          being managed without the memory impact of which_children/1.
          (Thanks to Jay Nelson.)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* jn/supervisor_child_count_only:
  Add count_children/1 to supervisor.erl to determine the number of

OTP-8436  Added supervisor:count_children/1 to count the number of children
          being managed without the memory impact of which_children/1.
          (Thanks to Jay Nelson.)</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'ks/stdlib-cleanups' into ccase/r13b04_dev</title>
<updated>2010-02-12T09:27:15+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2010-02-12T09:27:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=aad87546a2530454be07dc354ad0d6758e6fc5f5'/>
<id>aad87546a2530454be07dc354ad0d6758e6fc5f5</id>
<content type='text'>
* ks/stdlib-cleanups:
  stdlib: clean up as suggested by tidier

OTP-8435: ks/stdlib-cleanups</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ks/stdlib-cleanups:
  stdlib: clean up as suggested by tidier

OTP-8435: ks/stdlib-cleanups</pre>
</div>
</content>
</entry>
<entry>
<title>Fix CVE-2008-2371 (outer level option with alternatives caused crash).</title>
<updated>2010-02-11T07:10:27+00:00</updated>
<author>
<name>Michael Santos</name>
<email>michael.santos@gmail.com</email>
</author>
<published>2010-02-10T20:19:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bb6370a20be07e6bd0c9f6e89a3cd9719dccbfd3'/>
<id>bb6370a20be07e6bd0c9f6e89a3cd9719dccbfd3</id>
<content type='text'>
The patch is from:
http://vcs.pcre.org/viewvc?revision=360&amp;view=revision

Test case:
re:compile(&lt;&lt;"(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]"&gt;&gt;, [unicode]).

An option change at the start of a pattern that had top-level
alternatives could cause overwriting and/or a crash.

This potential security problem was recorded as CVE-2008-2371.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The patch is from:
http://vcs.pcre.org/viewvc?revision=360&amp;view=revision

Test case:
re:compile(&lt;&lt;"(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]"&gt;&gt;, [unicode]).

An option change at the start of a pattern that had top-level
alternatives could cause overwriting and/or a crash.

This potential security problem was recorded as CVE-2008-2371.
</pre>
</div>
</content>
</entry>
<entry>
<title>OTP-8434  Improved handling of typed records in escripts</title>
<updated>2010-02-10T17:10:20+00:00</updated>
<author>
<name>Håkan Mattsson</name>
<email>hakan@erlang.org</email>
</author>
<published>2010-02-10T17:10:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6af2ac91005276add18b1c9bbf4c8fe4f8c6e040'/>
<id>6af2ac91005276add18b1c9bbf4c8fe4f8c6e040</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add count_children/1 to supervisor.erl to determine the number of</title>
<updated>2010-02-10T16:14:28+00:00</updated>
<author>
<name>Jay Nelson</name>
<email>jay@duomark.com</email>
</author>
<published>2010-01-25T19:01:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1686757b304b66050f54db8e0ce5ab758bde96af'/>
<id>1686757b304b66050f54db8e0ce5ab758bde96af</id>
<content type='text'>
children being managed without the memory impact of which_children/1

The function which_children/1 returns a list of the child processes
currently being supervised, but it has the penalty of creating a new
list thereby consuming more memory.  In low memory situations it is
often desirable to know which supervisor may have generated many
processes, but the act of discovering the culprit should not cause the
node to crash (or worse a different node if the kernel kills one
randomly).  The new function count_children/1 can give an indication
of which supervisor is taxing resources the most without adding to the
burden.  Rather than creating a new list, it walks the supervisor's
internal children structure using an accumulator function so that any
used memory can be incrementally collected yet the resulting count can
still be obtained.

The return result of count_children/1 is a property list of counts
containing:
  - {specs, Total_Num_Child_Specs}
  - {active, Num_Active_Child_Processes_Of_Supervisor_Or_Worker_Type}
  - {supervisors, Num_Supervisor_Type_Children_Including_Dead_Processes}
  - {workers, Num_Worker_Type_Children_Including_Dead_Processes}

This patch was made in response to mailing list discussions of the
problem diagnosing heavily taxed production systems.  I cannot find
the original request, but http://www.erlang.org/cgi-bin/ezmlm-cgi/4/35060
is my original post of the patch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
children being managed without the memory impact of which_children/1

The function which_children/1 returns a list of the child processes
currently being supervised, but it has the penalty of creating a new
list thereby consuming more memory.  In low memory situations it is
often desirable to know which supervisor may have generated many
processes, but the act of discovering the culprit should not cause the
node to crash (or worse a different node if the kernel kills one
randomly).  The new function count_children/1 can give an indication
of which supervisor is taxing resources the most without adding to the
burden.  Rather than creating a new list, it walks the supervisor's
internal children structure using an accumulator function so that any
used memory can be incrementally collected yet the resulting count can
still be obtained.

The return result of count_children/1 is a property list of counts
containing:
  - {specs, Total_Num_Child_Specs}
  - {active, Num_Active_Child_Processes_Of_Supervisor_Or_Worker_Type}
  - {supervisors, Num_Supervisor_Type_Children_Including_Dead_Processes}
  - {workers, Num_Worker_Type_Children_Including_Dead_Processes}

This patch was made in response to mailing list discussions of the
problem diagnosing heavily taxed production systems.  I cannot find
the original request, but http://www.erlang.org/cgi-bin/ezmlm-cgi/4/35060
is my original post of the patch.
</pre>
</div>
</content>
</entry>
</feed>
