4808efb
diff -ur lwt-2.5.0.old/myocamlbuild.ml lwt-2.5.0/myocamlbuild.ml
4808efb
--- lwt-2.5.0.old/myocamlbuild.ml	2015-07-03 13:39:30.000000000 +0100
4808efb
+++ lwt-2.5.0/myocamlbuild.ml	2017-08-08 19:13:04.789273169 +0100
4808efb
@@ -538,7 +538,7 @@
4808efb
                  | nm, [], intf_modules ->
4808efb
                      ocaml_lib nm;
4808efb
                      let cmis =
4808efb
-                       List.map (fun m -> (String.uncapitalize m) ^ ".cmi")
4808efb
+                       List.map (fun m -> (String.uncapitalize_ascii m) ^ ".cmi")
4808efb
                                 intf_modules in
4808efb
                      dep ["ocaml"; "link"; "library"; "file:"^nm^".cma"] cmis
4808efb
                  | nm, dir :: tl, intf_modules ->
4808efb
@@ -551,7 +551,7 @@
4808efb
                             ["compile"; "infer_interface"; "doc"])
4808efb
                        tl;
4808efb
                      let cmis =
4808efb
-                       List.map (fun m -> dir^"/"^(String.uncapitalize m)^".cmi")
4808efb
+                       List.map (fun m -> dir^"/"^(String.uncapitalize_ascii m)^".cmi")
4808efb
                                 intf_modules in
4808efb
                      dep ["ocaml"; "link"; "library"; "file:"^dir^"/"^nm^".cma"]
4808efb
                          cmis)
4808efb
diff -ur lwt-2.5.0.old/src/unix/lwt_unix.ml lwt-2.5.0/src/unix/lwt_unix.ml
4808efb
--- lwt-2.5.0.old/src/unix/lwt_unix.ml	2015-07-03 13:39:30.000000000 +0100
4808efb
+++ lwt-2.5.0/src/unix/lwt_unix.ml	2017-08-08 19:14:31.957333383 +0100
4808efb
@@ -588,6 +588,7 @@
4808efb
   | O_RSYNC
4808efb
   | O_SHARE_DELETE
4808efb
   | O_CLOEXEC
4808efb
+  | O_KEEPEXEC
4808efb
 
4808efb
 external open_job : string -> Unix.open_flag list -> int -> (Unix.file_descr * bool) job = "lwt_unix_open_job"
4808efb
 
4808efb
@@ -1326,7 +1327,7 @@
4808efb
   check_descriptor ch;
4808efb
   Unix.shutdown ch.fd shutdown_command
4808efb
 
4808efb
-external stub_socketpair : socket_domain -> socket_type -> int -> Unix.file_descr * Unix.file_descr = "lwt_unix_socketpair_stub"
4808efb
+external stub_socketpair : ?cloexec:bool -> socket_domain -> socket_type -> int -> Unix.file_descr * Unix.file_descr = "lwt_unix_socketpair_stub"
4808efb
 
4808efb
 let socketpair dom typ proto =
4808efb
   let do_socketpair = if Sys.win32 then stub_socketpair else Unix.socketpair  in
4808efb
Only in lwt-2.5.0/src/unix: lwt_unix.ml~
4808efb
diff -ur lwt-2.5.0.old/src/unix/lwt_unix.mli lwt-2.5.0/src/unix/lwt_unix.mli
4808efb
--- lwt-2.5.0.old/src/unix/lwt_unix.mli	2015-07-03 13:39:30.000000000 +0100
4808efb
+++ lwt-2.5.0/src/unix/lwt_unix.mli	2017-08-08 19:13:04.790273170 +0100
4808efb
@@ -314,6 +314,7 @@
4808efb
   | O_RSYNC
4808efb
   | O_SHARE_DELETE
4808efb
   | O_CLOEXEC
4808efb
+  | O_KEEPEXEC
4808efb
 
4808efb
 val openfile : string -> open_flag list -> file_perm -> file_descr Lwt.t
4808efb
   (** Wrapper for [Unix.openfile]. *)
4808efb
diff -ur lwt-2.5.0.old/src/unix/lwt_unix_stubs.c lwt-2.5.0/src/unix/lwt_unix_stubs.c
4808efb
--- lwt-2.5.0.old/src/unix/lwt_unix_stubs.c	2015-07-03 13:39:30.000000000 +0100
4808efb
+++ lwt-2.5.0/src/unix/lwt_unix_stubs.c	2017-08-08 19:15:07.469357918 +0100
4808efb
@@ -453,9 +453,9 @@
4808efb
   SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_SEQPACKET
4808efb
 };
4808efb
 
4808efb
-CAMLprim value lwt_unix_socketpair_stub(value domain, value type, value protocol)
4808efb
+CAMLprim value lwt_unix_socketpair_stub(value cloexec, value domain, value type, value protocol)
4808efb
 {
4808efb
-  CAMLparam3(domain, type, protocol);
4808efb
+  CAMLparam4(cloexec, domain, type, protocol);
4808efb
   CAMLlocal1(result);
4808efb
   SOCKET sockets[2];
4808efb
   lwt_unix_socketpair(socket_domain_table[Int_val(domain)],
4808efb
Only in lwt-2.5.0/src/unix: lwt_unix_stubs.c~