<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/reltool/doc/src/reltool_examples.xml, branch R16B02_yielding_binary_to_term</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 years</title>
<updated>2013-06-12T17:37:57+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2013-06-12T17:37:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=710b07ca18417976459335a8b0b81a6f6aa82699'/>
<id>710b07ca18417976459335a8b0b81a6f6aa82699</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix receive support in erl_eval with a BEAM module</title>
<updated>2013-05-28T10:19:34+00:00</updated>
<author>
<name>Anthony Ramine</name>
<email>n.oxyde@gmail.com</email>
</author>
<published>2013-05-06T18:09:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=acb8ef5d18cc3976bf580a8e6925cb5641acd401'/>
<id>acb8ef5d18cc3976bf580a8e6925cb5641acd401</id>
<content type='text'>
Using the low-level BEAM instructions, we can loop over each message in
the process queue and removes the first message that matches, without
receiving them all to later send them back to itself.

The function prim_eval:'receive'/2 is equivalent to the
following pseudo-code:

  'receive'(F, T) -&gt;
    RESET MESSAGE QUEUE POINTER,
    LOOP:
      case PEEK CURRENT MESSAGE WITH TIMEOUT T of
        {ok,Msg} -&gt;
          case F(Msg) of
            nomatch -&gt;
              DECREMENT TIMEOUT T,
              ADVANCE MESSAGE QUEUE POINTER,
              GOTO LOOP;
            Result -&gt;
              RESET MESSAGE QUEUE POINTER,
              Result
          end;
        timeout -&gt;
          RESET MESSAGE QUEUE POINTER,
          timeout
      end.

To not break Dialyzer and other tools, we use a stub Erlang module which
abstract code is forcefully inserted into prim_inet.erl afterwards
compilation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using the low-level BEAM instructions, we can loop over each message in
the process queue and removes the first message that matches, without
receiving them all to later send them back to itself.

The function prim_eval:'receive'/2 is equivalent to the
following pseudo-code:

  'receive'(F, T) -&gt;
    RESET MESSAGE QUEUE POINTER,
    LOOP:
      case PEEK CURRENT MESSAGE WITH TIMEOUT T of
        {ok,Msg} -&gt;
          case F(Msg) of
            nomatch -&gt;
              DECREMENT TIMEOUT T,
              ADVANCE MESSAGE QUEUE POINTER,
              GOTO LOOP;
            Result -&gt;
              RESET MESSAGE QUEUE POINTER,
              Result
          end;
        timeout -&gt;
          RESET MESSAGE QUEUE POINTER,
          timeout
      end.

To not break Dialyzer and other tools, we use a stub Erlang module which
abstract code is forcefully inserted into prim_inet.erl afterwards
compilation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright years</title>
<updated>2011-03-11T16:34:22+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>psyeugenic@gmail.com</email>
</author>
<published>2011-03-11T16:34:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d53be747c945d5e86997e1944446795b271dacb4'/>
<id>d53be747c945d5e86997e1944446795b271dacb4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Automatically include applications that must be started</title>
<updated>2010-04-19T11:17:33+00:00</updated>
<author>
<name>Håkan Mattsson</name>
<email>hakan@erlang.org</email>
</author>
<published>2010-03-23T15:50:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=534f334247163035b477293e74b78823f2d9b7f3'/>
<id>534f334247163035b477293e74b78823f2d9b7f3</id>
<content type='text'>
Applications that are required to be started
before other applications according to their
app-file are now automatically included in
the release. The kernel and stdlib applications
are automatically included.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Applications that are required to be started
before other applications according to their
app-file are now automatically included in
the release. The kernel and stdlib applications
are automatically included.
</pre>
</div>
</content>
</entry>
<entry>
<title>OTP-8057  Removed spurious documentation files.</title>
<updated>2010-02-10T11:20:26+00:00</updated>
<author>
<name>Håkan Mattsson</name>
<email>hakan@erlang.org</email>
</author>
<published>2010-02-10T11:20:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=76c6911f9cd02e25121f68dd8f08d89c537fcf6c'/>
<id>76c6911f9cd02e25121f68dd8f08d89c537fcf6c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>The R13B03 release.</title>
<updated>2009-11-20T14:54:40+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2009-11-20T14:54:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=84adefa331c4159d432d22840663c38f155cd4c1'/>
<id>84adefa331c4159d432d22840663c38f155cd4c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
