<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/erts/lib_src/common, branch HansN-patch-1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge branch 'maint'</title>
<updated>2018-02-13T09:23:20+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-02-13T09:23:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=65d3d0080c58a8830e9ba95658802820a94ae308'/>
<id>65d3d0080c58a8830e9ba95658802820a94ae308</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix size of fmt_double()'s format_str[] buffer</title>
<updated>2018-02-13T09:19:20+00:00</updated>
<author>
<name>Mikael Pettersson</name>
<email>mikpelinux@gmail.com</email>
</author>
<published>2018-02-05T20:41:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=cac015e654dbb3ab538cb26486115c4c9b4fc210'/>
<id>cac015e654dbb3ab538cb26486115c4c9b4fc210</id>
<content type='text'>
fmt_double() may write up to 8 characters into its format_str[]
buffer, which however only has room for 7 characters.

This case could be triggered by a call to erts_printf_format() with
any floating-point format that also includes #, and + or a space,
which may be uncommon, but a nif or driver could issue it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fmt_double() may write up to 8 characters into its format_str[]
buffer, which however only has room for 7 characters.

This case could be triggered by a call to erts_printf_format() with
any floating-point format that also includes #, and + or a space,
which may be uncommon, but a nif or driver could issue it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2018-01-24T13:39:54+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-01-24T13:39:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ec9af70ef85da3467913ec3adbce15ac122dcb60'/>
<id>ec9af70ef85da3467913ec3adbce15ac122dcb60</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Fix buffer overflow bug in erts_printf %f</title>
<updated>2018-01-15T16:25:11+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-01-12T14:33:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a8aeed346d0be42161a2563a09a4745b40d330ee'/>
<id>a8aeed346d0be42161a2563a09a4745b40d330ee</id>
<content type='text'>
Sign character was not accounted for.

Ex:
float_to_list(-3.1265538967899625e+69, [{decimals,16}]).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sign character was not accounted for.

Ex:
float_to_list(-3.1265538967899625e+69, [{decimals,16}]).
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2017-10-20T12:23:26+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2017-10-20T12:23:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4b8255e9217c293f84a1e96b3ae8034d089e815b'/>
<id>4b8255e9217c293f84a1e96b3ae8034d089e815b</id>
<content type='text'>
* maint:
  Bump version of crash dumps to 0.4
  Verify that binaries of different sizes are dumped correctly
  Don't dump literal areas that are not referenced at all
  Dump literals separately to avoid incomplete heap data
  Implement dumping of maps in crash dumps
  Buffer writing of crash dumps

Conflicts:
	erts/emulator/beam/erl_alloc.types
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  Bump version of crash dumps to 0.4
  Verify that binaries of different sizes are dumped correctly
  Don't dump literal areas that are not referenced at all
  Dump literals separately to avoid incomplete heap data
  Implement dumping of maps in crash dumps
  Buffer writing of crash dumps

Conflicts:
	erts/emulator/beam/erl_alloc.types
</pre>
</div>
</content>
</entry>
<entry>
<title>Buffer writing of crash dumps</title>
<updated>2017-10-18T12:05:00+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2017-10-13T11:28:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=360d26b21c169b0c88d6ca43265cbcfa3ce9ef74'/>
<id>360d26b21c169b0c88d6ca43265cbcfa3ce9ef74</id>
<content type='text'>
Writing of crash dumps were done using unbuffered IO. This
is slow since many small writes are done.

Use a FILE* with an allocated buffer to obtain buffered IO.

I wrote a small test program that created 50000 binaries of 200 bytes
each and then created a crash dump. The crash dumping was an order of
magnitude faster with buffered IO than without.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Writing of crash dumps were done using unbuffered IO. This
is slow since many small writes are done.

Use a FILE* with an allocated buffer to obtain buffered IO.

I wrote a small test program that created 50000 binaries of 200 bytes
each and then created a crash dump. The crash dumping was an order of
magnitude faster with buffered IO than without.
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Cleanup removal of non-smp emulators</title>
<updated>2017-07-17T08:01:53+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2017-07-12T08:58:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=241f27c4942d6b765abcec9d5a9712e07861bc13'/>
<id>241f27c4942d6b765abcec9d5a9712e07861bc13</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Remove ERTS_SMP and USE_THREAD defines</title>
<updated>2017-07-17T08:01:53+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2017-07-12T12:56:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a69339d9f8c73d2a0a2369289b464db00c479302'/>
<id>a69339d9f8c73d2a0a2369289b464db00c479302</id>
<content type='text'>
This refactor was done using the unifdef tool like this:
    for file in $(find erts/ -name *.[ch]); do unifdef -t -f defile -o $file $file; done

where defile contained:
    #define ERTS_SMP 1
    #define USE_THREADS 1
    #define DDLL_SMP 1
    #define ERTS_HAVE_SMP_EMU 1
    #define SMP 1
    #define ERL_BITS_REENTRANT 1
    #define ERTS_USE_ASYNC_READY_Q 1
    #define FDBLOCK 1
    #undef ERTS_POLL_NEED_ASYNC_INTERRUPT_SUPPORT
    #define ERTS_POLL_ASYNC_INTERRUPT_SUPPORT 0
    #define ERTS_POLL_USE_WAKEUP_PIPE 1
    #define ERTS_POLL_USE_UPDATE_REQUESTS_QUEUE 1
    #undef ERTS_HAVE_PLAIN_EMU
    #undef ERTS_SIGNAL_STATE
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This refactor was done using the unifdef tool like this:
    for file in $(find erts/ -name *.[ch]); do unifdef -t -f defile -o $file $file; done

where defile contained:
    #define ERTS_SMP 1
    #define USE_THREADS 1
    #define DDLL_SMP 1
    #define ERTS_HAVE_SMP_EMU 1
    #define SMP 1
    #define ERL_BITS_REENTRANT 1
    #define ERTS_USE_ASYNC_READY_Q 1
    #define FDBLOCK 1
    #undef ERTS_POLL_NEED_ASYNC_INTERRUPT_SUPPORT
    #define ERTS_POLL_ASYNC_INTERRUPT_SUPPORT 0
    #define ERTS_POLL_USE_WAKEUP_PIPE 1
    #define ERTS_POLL_USE_UPDATE_REQUESTS_QUEUE 1
    #undef ERTS_HAVE_PLAIN_EMU
    #undef ERTS_SIGNAL_STATE
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2017-05-04T13:42:21+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2017-05-04T13:42:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=83e20c62057ebc1d8064bf57b01be560cd244e1d'/>
<id>83e20c62057ebc1d8064bf57b01be560cd244e1d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Fix erlexec to handle mismatch in sysconf and proc fs</title>
<updated>2017-04-20T08:09:15+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2017-04-06T15:13:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bb18d3305363ed9ef9eaead6fa2d796f56b1749c'/>
<id>bb18d3305363ed9ef9eaead6fa2d796f56b1749c</id>
<content type='text'>
This behaviour has been seen when using docker together with --cpuset-cpus.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This behaviour has been seen when using docker together with --cpuset-cpus.
</pre>
</div>
</content>
</entry>
</feed>
