<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ocaml.git/byterun, branch atomic_write_cmi</title>
<subtitle>github.com: ocaml/ocaml
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/'/>
<entry>
<title>Reimplement Sys.rename under Win32 to be more POSIX (#1306)</title>
<updated>2017-08-30T16:16:27+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavierleroy@users.noreply.github.com</email>
</author>
<published>2017-08-30T16:16:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=3e0aadf7b02de0e680c6b8cabcb719fe753fbf85'/>
<id>3e0aadf7b02de0e680c6b8cabcb719fe753fbf85</id>
<content type='text'>
* Reimplement Sys.rename under Win32 to be more POSIX

Specifically: "Sys.rename src dst" no longer fails if file "dst" exists,
but replaces it with file "src", as in POSIX.

Test added.

* Sys.rename: document the "replace if existing" behavior

Now that we have this behavior under Win32, let's guarantee it.

* byterun/win32.c: typos in names of error codes

* Tests for Unix.rename similar to those for Sys.rename

* win32unix/rename.c: simplify the implementation

All versions of Windows we support provide MoveFileEx.

* Sys.remove: for backward compatibility, copy if cannot move

This is what the old implementation (based on MoveFile() and on rename() from the CRT) did.

* Improve documentation of Sys.remove

* Improve documentation of Unix.rename

Bring it in line with that of Sys.rename.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Reimplement Sys.rename under Win32 to be more POSIX

Specifically: "Sys.rename src dst" no longer fails if file "dst" exists,
but replaces it with file "src", as in POSIX.

Test added.

* Sys.rename: document the "replace if existing" behavior

Now that we have this behavior under Win32, let's guarantee it.

* byterun/win32.c: typos in names of error codes

* Tests for Unix.rename similar to those for Sys.rename

* win32unix/rename.c: simplify the implementation

All versions of Windows we support provide MoveFileEx.

* Sys.remove: for backward compatibility, copy if cannot move

This is what the old implementation (based on MoveFile() and on rename() from the CRT) did.

* Improve documentation of Sys.remove

* Improve documentation of Unix.rename

Bring it in line with that of Sys.rename.
</pre>
</div>
</content>
</entry>
<entry>
<title>Restore 32bit compilation (#1295)</title>
<updated>2017-08-29T09:42:23+00:00</updated>
<author>
<name>David Allsopp</name>
<email>david.allsopp@metastack.com</email>
</author>
<published>2017-08-29T09:42:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=82b3cdc6ee881001755ef880f38b5606ebc889a4'/>
<id>82b3cdc6ee881001755ef880f38b5606ebc889a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>In caml_executable_name(), tighten buffer allocation and clarify code</title>
<updated>2017-08-25T16:24:01+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2017-08-25T16:24:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=7a315bdb5e66bffdd7cef536373a2e0b753d1b7f'/>
<id>7a315bdb5e66bffdd7cef536373a2e0b753d1b7f</id>
<content type='text'>
Follow-up to commit e49e6ce.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up to commit e49e6ce.
</pre>
</div>
</content>
</entry>
<entry>
<title>In caml_executable_name(), wrong test on the return code of readlink()</title>
<updated>2017-08-25T15:56:45+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2017-08-25T15:56:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=e49e6ce5ee35fb5e7b6647004b0781532d7e03c3'/>
<id>e49e6ce5ee35fb5e7b6647004b0781532d7e03c3</id>
<content type='text'>
Follow-up to PR#795 "More robust determination of full path to current executable"
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up to PR#795 "More robust determination of full path to current executable"
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1269 from sliquister/dont-stop-ticker-thread</title>
<updated>2017-08-25T07:43:52+00:00</updated>
<author>
<name>Gabriel Scherer</name>
<email>gabriel.scherer@gmail.com</email>
</author>
<published>2017-08-25T07:43:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=b0c3758cdd45620903ff94715ca3dd6fb9850560'/>
<id>b0c3758cdd45620903ff94715ca3dd6fb9850560</id>
<content type='text'>
Remove 50ms delay at exit for programs using systhreads</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove 50ms delay at exit for programs using systhreads</pre>
</div>
</content>
</entry>
<entry>
<title>Remove 50ms delay at exit for programs using threads</title>
<updated>2017-08-25T02:10:23+00:00</updated>
<author>
<name>Valentin Gatien-Baron</name>
<email>valentin.gatienbaron@gmail.com</email>
</author>
<published>2017-07-30T14:41:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=e26c27e0029250b93684d191f6b4bc0d857198c6'/>
<id>e26c27e0029250b93684d191f6b4bc0d857198c6</id>
<content type='text'>
$ cat /tmp/b.ml
let () = Thread.join (Thread.create ignore ())
let () = for _ = 0 to 100000; do () done
$ ocamlopt -I +threads unix.cmxa threads.cmxa /tmp/b.ml -o b
$ time ./b # before this commit

real	0m0.053s
user	0m0.000s
sys	0m0.000s
$ time ./b # after this commit

real	0m0.003s
user	0m0.000s
sys	0m0.000s
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
$ cat /tmp/b.ml
let () = Thread.join (Thread.create ignore ())
let () = for _ = 0 to 100000; do () done
$ ocamlopt -I +threads unix.cmxa threads.cmxa /tmp/b.ml -o b
$ time ./b # before this commit

real	0m0.053s
user	0m0.000s
sys	0m0.000s
$ time ./b # after this commit

real	0m0.003s
user	0m0.000s
sys	0m0.000s
</pre>
</div>
</content>
</entry>
<entry>
<title>favor 'long' over 'long long' for the definition of ARCH_INT64_TYPE</title>
<updated>2017-08-14T20:19:16+00:00</updated>
<author>
<name>Olivier Andrieu</name>
<email>oandrieu@gmail.com</email>
</author>
<published>2017-05-05T14:15:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=b88f745dae269d44b77b90df403c423a59a28e23'/>
<id>b88f745dae269d44b77b90df403c423a59a28e23</id>
<content type='text'>
that way ARCH_INT64_PRINTF_FORMAT has a better chance of matching 'int64_t'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
that way ARCH_INT64_PRINTF_FORMAT has a better chance of matching 'int64_t'
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix several printf format string issues</title>
<updated>2017-08-14T20:19:16+00:00</updated>
<author>
<name>Olivier Andrieu</name>
<email>oandrieu@gmail.com</email>
</author>
<published>2017-02-27T16:32:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=ad273c995a78bee2e7158c15093e0f4c322708fa'/>
<id>ad273c995a78bee2e7158c15093e0f4c322708fa</id>
<content type='text'>
- enable gcc typechecking for the format string in caml_alloc_sprintf and
  caml_gc_message
- make caml_gc_message a variadic function
- use the proper format type modifier for intnat/uintnat arguments:
  ARCH_INTNAT_PRINTF_FORMAT rather than %ld/%lu
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- enable gcc typechecking for the format string in caml_alloc_sprintf and
  caml_gc_message
- make caml_gc_message a variadic function
- use the proper format type modifier for intnat/uintnat arguments:
  ARCH_INTNAT_PRINTF_FORMAT rather than %ld/%lu
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the stack overflow in the stack overflow handler on Windows! (#1289)</title>
<updated>2017-08-14T08:15:41+00:00</updated>
<author>
<name>David Allsopp</name>
<email>david.allsopp@metastack.com</email>
</author>
<published>2017-08-14T08:15:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=a1fa0338ef7e11052ef304936694bddda3214fc4'/>
<id>a1fa0338ef7e11052ef304936694bddda3214fc4</id>
<content type='text'>
* Double the win32_alt_stack used for stack overflow

When backtrace recording is enabled, the alternative stack is
overflowing before caml_raise_exception has a chance to restore the
original stack. Seen with VS 2015 and VS 2017, but dependent on the
target machine (Windows 10 1703 consistently demonstrating, AppVeyor's
Server 2012 instances similarly but Windows 10 1511 and Azure Windows
Server 2016 both apparently fine - all with the same binary).

* Also test stack overflow with backtraces
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Double the win32_alt_stack used for stack overflow

When backtrace recording is enabled, the alternative stack is
overflowing before caml_raise_exception has a chance to restore the
original stack. Seen with VS 2015 and VS 2017, but dependent on the
target machine (Windows 10 1703 consistently demonstrating, AppVeyor's
Server 2012 instances similarly but Windows 10 1511 and Azure Windows
Server 2016 both apparently fine - all with the same binary).

* Also test stack overflow with backtraces
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Cygwin breakage caused by #1274</title>
<updated>2017-08-12T10:16:22+00:00</updated>
<author>
<name>David Allsopp</name>
<email>david.allsopp@metastack.com</email>
</author>
<published>2017-08-11T10:13:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=25c2d326333193e11e093c3816a4f815c5dc316b'/>
<id>25c2d326333193e11e093c3816a4f815c5dc316b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
