This is an automated email from the git hooks/post-receive script.

glondu pushed a commit to branch master
in repository lwt.

commit 88f9908b140adb150b5ecdabb27f353240014b46
Author: Stephane Glondu <st...@glondu.net>
Date:   Wed Oct 14 11:09:00 2015 +0200

    Imported Upstream version 2.4.8
---
 .merlin                           |   9 +++++++++
 CHANGES                           |   7 +++++++
 Makefile                          |   2 +-
 README.md                         |   3 ++-
 _oasis                            |   5 +++--
 manual/Makefile                   |   2 +-
 ppx/.merlin                       |   4 ++++
 setup-dev.exe                     | Bin 3510736 -> 0 bytes
 setup.ml                          |  14 ++++++++------
 src/core/META                     |  26 +++++++++++++-------------
 src/core/lwt.ml                   |   6 +++---
 src/core/lwt.mli                  |   6 +++---
 src/core/lwt_mutex.ml             |   4 ++--
 src/core/lwt_mutex.mli            |   4 ++--
 src/core/lwt_pool.ml              |   6 +++---
 src/core/lwt_pool.mli             |   6 +++---
 src/core/lwt_pqueue.ml            |   4 ++--
 src/core/lwt_pqueue.mli           |   4 ++--
 src/core/lwt_stream.mli           |   6 +++---
 src/logger/lwt_log_core.ml        |   4 ++++
 src/logger/lwt_log_core.mli       |   6 +++++-
 src/preemptive/lwt_preemptive.ml  |   6 +++---
 src/preemptive/lwt_preemptive.mli |   6 +++---
 src/react/lwt_react.ml            |   2 +-
 src/react/lwt_react.mli           |   2 +-
 src/ssl/lwt_ssl.ml                |   4 ++--
 src/ssl/lwt_ssl.mli               |   4 ++--
 src/unix/lwt_bytes.mli            |  32 ++++++++++++++++----------------
 src/unix/lwt_chan.ml              |   6 +++---
 src/unix/lwt_chan.mli             |   4 ++--
 src/unix/lwt_daemon.mli           |   6 +++---
 src/unix/lwt_engine.ml            |   7 ++++++-
 src/unix/lwt_engine.mli           |  12 ++++++------
 src/unix/lwt_gc.mli               |   8 ++++----
 src/unix/lwt_process_stubs.c      |   2 --
 src/unix/lwt_throttle.ml          |   4 ++--
 src/unix/lwt_throttle.mli         |   4 ++--
 src/unix/lwt_timeout.ml           |   4 ++--
 src/unix/lwt_timeout.mli          |   4 ++--
 src/unix/lwt_unix.h               |   3 +++
 src/unix/lwt_unix.ml              |   8 ++++----
 src/unix/lwt_unix.mli             |   6 +++---
 src/unix/lwt_unix_stubs.c         |   5 -----
 src/unix/lwt_unix_windows.c       |   4 ++++
 tests/META                        |   4 ++--
 tests/unix/test_lwt_io.ml         |   4 ++--
 46 files changed, 158 insertions(+), 121 deletions(-)

diff --git a/.merlin b/.merlin
new file mode 100644
index 0000000..2836c1a
--- /dev/null
+++ b/.merlin
@@ -0,0 +1,9 @@
+S src/**
+S ppx/
+S syntax/
+
+B _build/**
+
+
+S tests/
+S examples/
\ No newline at end of file
diff --git a/CHANGES b/CHANGES
index 022783c..3588c21 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+===== 2.4.8 (2015-03-11) =====
+
+  * Fix compilation under Windows (#117, #129)
+  * Fix Lwt_engine.on_timer (#121)
+  * Add Lwt_log_core.reset_rules (#123)
+  * Fixed typos in the documentation (#119, #131)
+
 ===== 2.4.7 (2015-01-06) =====
 
   * camlp4 is now optional.
diff --git a/Makefile b/Makefile
index 35ce745..9e011e9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 # Makefile
 # --------
-# Copyright : (c) 2012, Jeremie Dimino <jere...@dimino.org>
+# Copyright : (c) 2012, Jérémie Dimino <jere...@dimino.org>
 # Licence   : BSD3
 #
 # Generic Makefile for oasis project
diff --git a/README.md b/README.md
index 63d8be7..72ccd0e 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@ The Lwt toplevel was deprecated and removed. Use utop instead:
  * Pierre Clairambault
  * Stéphane Glondu
  * Jérémie Dimino
- * Warren Harris (Metaweb Technologies, Inc.)
+ * Warren Harris
  * Pierre Chambart
  * Mauricio Fernandez
  * Gregoire Henri
@@ -71,6 +71,7 @@ The Lwt toplevel was deprecated and removed. Use utop instead:
  * Peter Zotov
  * Hugo Heuzard
  * Vincent Bernardoff
+ * Romain Slootmaekers
 
 See each source file for copyright information, and COPYING for license.
 
diff --git a/_oasis b/_oasis
index 17527c1..4d00499 100644
--- a/_oasis
+++ b/_oasis
@@ -5,7 +5,7 @@
 OASISFormat: 0.4
 OCamlVersion: >= 4.01
 Name: lwt
-Version: 2.4.7
+Version: 2.4.8
 LicenseFile: COPYING
 License: LGPL-2.1 with OCaml linking exception
 Authors:
@@ -22,7 +22,8 @@ Authors:
   Gabriel Radanne,
   Peter Zotov,
   Hugo Heuzard,
-  Vincent Bernardoff
+  Vincent Bernardoff,
+  Romain Slootmaekers
 Homepage: http://ocsigen.org/lwt/
 BuildTools: ocamlbuild
 Plugins: DevFiles (0.3), META (0.3)
diff --git a/manual/Makefile b/manual/Makefile
index a5cff0f..8b05e2f 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -1,6 +1,6 @@
 # Makefile
 # --------
-# Copyright : (c) 2010, Jeremie Dimino <jere...@dimino.org>
+# Copyright : (c) 2010, Jérémie Dimino <jere...@dimino.org>
 # Licence   : BSD3
 #
 # This file is a part of lwt.
diff --git a/ppx/.merlin b/ppx/.merlin
new file mode 100644
index 0000000..69dfe6f
--- /dev/null
+++ b/ppx/.merlin
@@ -0,0 +1,4 @@
+PKG ppx_tools
+PKG ppx_tools.metaquot
+
+REC
\ No newline at end of file
diff --git a/setup-dev.exe b/setup-dev.exe
deleted file mode 100755
index 13906db..0000000
Binary files a/setup-dev.exe and /dev/null differ
diff --git a/setup.ml b/setup.ml
index 9254952..dacbbba 100644
--- a/setup.ml
+++ b/setup.ml
@@ -1,14 +1,14 @@
 (*
  * setup.ml
  * --------
- * Copyright : (c) 2011, Jeremie Dimino <jere...@dimino.org>
+ * Copyright : (c) 2011, Jérémie Dimino <jere...@dimino.org>
  * Licence   : BSD3
  *
  * This file is a part of lwt.
  *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 7c25f60f56d0b86c735af71fc8b00733) *)
+(* DO NOT EDIT (digest: 67e018127e8524697980285814c0f22b) *)
 (*
    Regenerated by OASIS v0.4.5
    Visit http://oasis.forge.ocamlcore.org for more information and
@@ -7005,7 +7005,7 @@ let setup_t =
           alpha_features = ["pure_interface"];
           beta_features = [];
           name = "lwt";
-          version = "2.4.7";
+          version = "2.4.8";
           license =
             OASISLicense.DEP5License
               (OASISLicense.DEP5Unit
@@ -7032,7 +7032,8 @@ let setup_t =
                "Gabriel Radanne";
                "Peter Zotov";
                "Hugo Heuzard";
-               "Vincent Bernardoff"
+               "Vincent Bernardoff";
+               "Romain Slootmaekers"
             ];
           homepage = Some "http://ocsigen.org/lwt/";;
           synopsis = "Lightweight thread library for OCaml";
@@ -8556,7 +8557,8 @@ let setup_t =
        };
      oasis_fn = Some "_oasis";
      oasis_version = "0.4.5";
-     oasis_digest = Some "\146T\029\223\215\149\r\144Q\238o-\156\201Fs";
+     oasis_digest =
+       Some "\241_\194\137\012\137\186\236>\127\180\1788\025\138\188";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false
@@ -8564,7 +8566,7 @@ let setup_t =
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 8561 "setup.ml"
+# 8563 "setup.ml"
 (* OASIS_STOP *)
 
 let () =
diff --git a/src/core/META b/src/core/META
index 04e9075..d69e3fe 100644
--- a/src/core/META
+++ b/src/core/META
@@ -1,6 +1,6 @@
 # OASIS_START
-# DO NOT EDIT (digest: 1f55c2e4c6382a1224cd84a7e2ae0545)
-version = "2.4.7"
+# DO NOT EDIT (digest: ce20afc614dd1d298d2a46d09b96715e)
+version = "2.4.8"
 description = "Lightweight thread library for OCaml (core library)"
 requires = "bytes"
 archive(byte) = "lwt.cma"
@@ -9,7 +9,7 @@ archive(native) = "lwt.cmxa"
 archive(native, plugin) = "lwt.cmxs"
 exists_if = "lwt.cma"
 package "unix" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Unix support for lwt"
  requires = "lwt lwt.log unix bigarray"
  archive(byte) = "lwt-unix.cma"
@@ -20,7 +20,7 @@ package "unix" (
 )
 
 package "syntax" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Syntactic sugars for Lwt"
  requires = "camlp4 lwt.syntax.options"
  archive(syntax, preprocessor) = "lwt-syntax.cma"
@@ -29,7 +29,7 @@ package "syntax" (
  archive(syntax, preprocessor, native, plugin) = "lwt-syntax.cmxs"
  exists_if = "lwt-syntax.cma"
  package "options" (
-  version = "2.4.7"
+  version = "2.4.8"
   description = "Options for syntax extensions"
   requires = "camlp4"
   archive(syntax, preprocessor) = "lwt-syntax-options.cma"
@@ -40,7 +40,7 @@ package "syntax" (
  )
  
  package "log" (
-  version = "2.4.7"
+  version = "2.4.8"
   description = "Syntactic sugars for logging"
   requires = "camlp4 lwt.syntax.options"
   archive(syntax, preprocessor) = "lwt-syntax-log.cma"
@@ -52,7 +52,7 @@ package "syntax" (
 )
 
 package "ssl" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "SSL support for Lwt"
  requires = "ssl lwt.unix"
  archive(byte) = "lwt-ssl.cma"
@@ -63,7 +63,7 @@ package "ssl" (
 )
 
 package "simple-top" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Unix support for lwt"
  requires = "lwt lwt.unix compiler-libs.common"
  archive(byte) = "lwt-simple-top.cma"
@@ -74,7 +74,7 @@ package "simple-top" (
 )
 
 package "react" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Reactive programming helpers"
  requires = "lwt react"
  archive(byte) = "lwt-react.cma"
@@ -85,7 +85,7 @@ package "react" (
 )
 
 package "preemptive" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Preemptive threads support for Lwt"
  requires = "lwt lwt.unix threads"
  archive(byte) = "lwt-preemptive.cma"
@@ -96,7 +96,7 @@ package "preemptive" (
 )
 
 package "ppx" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "New-style (ppx) syntax extension"
  requires = "lwt"
  archive(byte) = "ppx.cma"
@@ -108,7 +108,7 @@ package "ppx" (
 )
 
 package "log" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Logger for lwt"
  requires = "lwt"
  archive(byte) = "lwt-log.cma"
@@ -119,7 +119,7 @@ package "log" (
 )
 
 package "glib" (
- version = "2.4.7"
+ version = "2.4.8"
  description = "Glib integration"
  requires = "lwt lwt.unix"
  archive(byte) = "lwt-glib.cma"
diff --git a/src/core/lwt.ml b/src/core/lwt.ml
index 8e59d1d..e4ee487 100644
--- a/src/core/lwt.ml
+++ b/src/core/lwt.ml
@@ -1,9 +1,9 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *               2009-2012 J�r�mie Dimino
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *               2009-2012 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/core/lwt.mli b/src/core/lwt.mli
index 15234ba..6379375 100644
--- a/src/core/lwt.mli
+++ b/src/core/lwt.mli
@@ -1,9 +1,9 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *               2009-2012 J�r�mie Dimino
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *               2009-2012 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/core/lwt_mutex.ml b/src/core/lwt_mutex.ml
index 24b0246..29e3605 100644
--- a/src/core/lwt_mutex.ml
+++ b/src/core/lwt_mutex.ml
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_mutex
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/core/lwt_mutex.mli b/src/core/lwt_mutex.mli
index 375d602..22c9063 100644
--- a/src/core/lwt_mutex.mli
+++ b/src/core/lwt_mutex.mli
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt_mutex
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/core/lwt_pool.ml b/src/core/lwt_pool.ml
index 91e0209..42042d7 100644
--- a/src/core/lwt_pool.ml
+++ b/src/core/lwt_pool.ml
@@ -1,8 +1,8 @@
 (* Lwt
  * http://www.ocsigen.org
- * Copyright (C) 2008 J�r�me Vouillon
- *               2012 J�r�mie Dimino
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2008 Jérôme Vouillon
+ *               2012 Jérémie Dimino
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/core/lwt_pool.mli b/src/core/lwt_pool.mli
index 5102381..7c61894 100644
--- a/src/core/lwt_pool.mli
+++ b/src/core/lwt_pool.mli
@@ -1,8 +1,8 @@
 (* Lwt
  * http://www.ocsigen.org
- * Copyright (C) 2008 J�r�me Vouillon
- *               2012 J�r�mie Dimino
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2008 Jérôme Vouillon
+ *               2012 Jérémie Dimino
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/core/lwt_pqueue.ml b/src/core/lwt_pqueue.ml
index 87773be..c6a5cc7 100644
--- a/src/core/lwt_pqueue.ml
+++ b/src/core/lwt_pqueue.ml
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_pqueue
- * Copyright (C) 1999-2004 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 1999-2004 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/core/lwt_pqueue.mli b/src/core/lwt_pqueue.mli
index 6900ec1..9c69c17 100644
--- a/src/core/lwt_pqueue.mli
+++ b/src/core/lwt_pqueue.mli
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt_pqueue
- * Copyright (C) 1999-2004 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 1999-2004 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/core/lwt_stream.mli b/src/core/lwt_stream.mli
index 27c4619..50eb252 100644
--- a/src/core/lwt_stream.mli
+++ b/src/core/lwt_stream.mli
@@ -42,7 +42,7 @@ val from : (unit -> 'a option Lwt.t) -> 'a t
 val from_direct : (unit -> 'a option) -> 'a t
   (** [from_direct f] does the same as {!from} but with a function
       that does not return a thread. It is better than wrapping [f]
-      into a function which return a thread. *)
+      into a function which returns a thread. *)
 
 exception Closed
   (** Exception raised by the push function of a push-stream when
@@ -54,8 +54,8 @@ val create : unit -> 'a t * ('a option -> unit)
 
 val create_with_reference : unit -> 'a t * ('a option -> unit) * ('b -> unit)
   (** [create_with_reference ()] returns a new stream and a push
-      function. The last function allows to set a reference to an
-      external source. This prevent the external source from being
+      function. The last function allows a reference to be set to an
+      external source. This prevents the external source from being
       garbage collected.
 
       For example, to convert a reactive event to a stream:
diff --git a/src/logger/lwt_log_core.ml b/src/logger/lwt_log_core.ml
index 8336596..0ff5cca 100644
--- a/src/logger/lwt_log_core.ml
+++ b/src/logger/lwt_log_core.ml
@@ -208,6 +208,10 @@ let append_rule pattern level =
   rules := !rules @ [(split pattern, level)];
   Section.recompute_levels ()
 
+let reset_rules () =
+  rules := [];
+  Section.recompute_levels ()
+
 (* +-----------------------------------------------------------------+
    | Loggers                                                         |
    +-----------------------------------------------------------------+ *)
diff --git a/src/logger/lwt_log_core.mli b/src/logger/lwt_log_core.mli
index 1471d95..3b025b6 100644
--- a/src/logger/lwt_log_core.mli
+++ b/src/logger/lwt_log_core.mli
@@ -93,7 +93,7 @@ val load_rules : string -> unit
 val add_rule : string -> level -> unit
   (** [add_rule pattern level] adds a rule for sections logging
       levels. The rule is added before all other rules. It takes
-      effect immediately and affect all sections for which the level
+      effect immediately and affects all sections for which the level
       has not been set explicitly with {!Section.set_level}. [pattern]
       may contains [*]. For example:
 
@@ -111,6 +111,10 @@ val append_rule : string -> level -> unit
       ]}
   *)
 
+val reset_rules : unit -> unit
+  (** removes all rules.
+   *)
+
 (** {2 Logging functions} *)
 
 val log : ?exn : exn -> ?section : section -> ?location : (string * int * int) 
-> ?logger : logger -> level : level -> string -> unit Lwt.t
diff --git a/src/preemptive/lwt_preemptive.ml b/src/preemptive/lwt_preemptive.ml
index 5f189c9..9b9e456 100644
--- a/src/preemptive/lwt_preemptive.ml
+++ b/src/preemptive/lwt_preemptive.ml
@@ -1,9 +1,9 @@
 (* Ocsigen
  * http://www.ocsigen.org
  * Module lwt_preemptive.ml
- * Copyright (C) 2005 Nataliya Guts, Vincent Balat, J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *               2009 J�r�mie Dimino
+ * Copyright (C) 2005 Nataliya Guts, Vincent Balat, Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *               2009 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/preemptive/lwt_preemptive.mli 
b/src/preemptive/lwt_preemptive.mli
index 6109b20..5d0a752 100644
--- a/src/preemptive/lwt_preemptive.mli
+++ b/src/preemptive/lwt_preemptive.mli
@@ -1,9 +1,9 @@
 (* Ocsigen
  * http://www.ocsigen.org
  * Module lwt_preemptive.ml
- * Copyright (C) 2005 Nataliya Guts, Vincent Balat, J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *               2009 J�r�mie Dimino
+ * Copyright (C) 2005 Nataliya Guts, Vincent Balat, Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *               2009 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/react/lwt_react.ml b/src/react/lwt_react.ml
index 8213306..8f99cea 100644
--- a/src/react/lwt_react.ml
+++ b/src/react/lwt_react.ml
@@ -1,7 +1,7 @@
 (*
  * lwt_react.ml
  * ------------
- * Copyright : (c) 2011, Jeremie Dimino <jere...@dimino.org>
+ * Copyright : (c) 2011, Jérémie Dimino <jere...@dimino.org>
  * Licence   : BSD3
  *
  * This file is a part of lwt.
diff --git a/src/react/lwt_react.mli b/src/react/lwt_react.mli
index 0d77370..b02b383 100644
--- a/src/react/lwt_react.mli
+++ b/src/react/lwt_react.mli
@@ -1,7 +1,7 @@
 (*
  * lwt_react.mli
  * -------------
- * Copyright : (c) 2011, Jeremie Dimino <jere...@dimino.org>
+ * Copyright : (c) 2011, Jérémie Dimino <jere...@dimino.org>
  * Licence   : BSD3
  *
  * This file is a part of lwt.
diff --git a/src/ssl/lwt_ssl.ml b/src/ssl/lwt_ssl.ml
index 4d05947..88f68e4 100644
--- a/src/ssl/lwt_ssl.ml
+++ b/src/ssl/lwt_ssl.ml
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_ssl
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/ssl/lwt_ssl.mli b/src/ssl/lwt_ssl.mli
index 91b824b..757b0af 100644
--- a/src/ssl/lwt_ssl.mli
+++ b/src/ssl/lwt_ssl.mli
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt_ssl
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_bytes.mli b/src/unix/lwt_bytes.mli
index ef703d8..65b52c7 100644
--- a/src/unix/lwt_bytes.mli
+++ b/src/unix/lwt_bytes.mli
@@ -42,10 +42,10 @@ val set : t -> int -> char -> unit
       offset [offset] in [buffer] to [value]. *)
 
 val unsafe_get : t -> int -> char
-  (** Same as {!get} but without bound checking. *)
+  (** Same as {!get} but without bounds checking. *)
 
 val unsafe_set : t -> int -> char -> unit
-  (** Same as {!set} but without bound checking. *)
+  (** Same as {!set} but without bounds checking. *)
 
 (** {2 Conversions} *)
 
@@ -68,25 +68,25 @@ val to_string : t -> string
 (** {2 Copying} *)
 
 val blit : t -> int -> t -> int -> int -> unit
-  (** [blit buf1 ofs1 buf2 ofs2 len] copy [len] bytes from [buf1]
+  (** [blit buf1 ofs1 buf2 ofs2 len] copies [len] bytes from [buf1]
       starting at offset [ofs1] to [buf2] starting at offset [ofs2]. *)
 
 val blit_from_bytes : Bytes.t -> int -> t -> int -> int -> unit
-  (** Same as blit but the first buffer is a string instead of a byte
+  (** Same as {!blit} but the first buffer is a string instead of a byte
       array. *)
 
 val blit_to_bytes : t -> int -> Bytes.t -> int -> int -> unit
-  (** Same as blit but the second buffer is a string instead of a byte
+  (** Same as {!blit} but the second buffer is a string instead of a byte
       array. *)
 
 val unsafe_blit : t -> int -> t -> int -> int -> unit
   (** Same as {!blit} but without bound checking. *)
 
 val unsafe_blit_from_bytes : Bytes.t -> int -> t -> int -> int -> unit
-  (** Same as {!blit_string_bytes} but without bound checking. *)
+  (** Same as {!blit_string_bytes} but without bounds checking. *)
 
 val unsafe_blit_to_bytes : t -> int -> Bytes.t -> int -> int -> unit
-  (** Same as {!blit_bytes_string} but without bound checking. *)
+  (** Same as {!blit_bytes_string} but without bounds checking. *)
 
 val proxy : t -> int -> int -> t
   (** [proxy buffer offset length] creates a ``proxy''. The returned
@@ -108,12 +108,12 @@ val fill : t -> int -> int -> char -> unit
       bytes of [buffer] starting at offset [offset]. *)
 
 external unsafe_fill : t -> int -> int -> char -> unit = "lwt_unix_fill_bytes" 
"noalloc"
-  (** Same as {!fill} but without bound checking. *)
+  (** Same as {!fill} but without bounds checking. *)
 
 (** {2 IOs} *)
 
-(** The following functions does the same as the functions in
-    {!Lwt_unix} except that they use byte arrays instead of
+(** The following functions behave similarly to the ones in
+    {!Lwt_unix} except they use byte arrays instead of
     strings. *)
 
 val read : Lwt_unix.file_descr -> t -> int -> int -> int Lwt.t
@@ -150,7 +150,7 @@ external mapped : t -> bool = "lwt_unix_mapped" "noalloc"
       file. *)
 
 (** Type of advise that can be sent to the kernel by the program. See
-    the manual madvise(2) for a description of each advices. *)
+    the manual madvise(2) for a description of each. *)
 type advice =
   | MADV_NORMAL
   | MADV_RANDOM
@@ -159,9 +159,9 @@ type advice =
   | MADV_DONTNEED
 
 val madvise : t -> int -> int -> advice -> unit
-  (** [madvise buffer pos len advice] advise the kernel about how the
-      program is going to use the part of the memory mapped file
-      between [pos] and [pos + len].
+  (** [madvise buffer pos len advice] advises the kernel how the
+      program will use the memory mapped file between [pos] and
+      [pos + len].
 
       This call is not available on windows. *)
 
@@ -172,13 +172,13 @@ val mincore : t -> int -> bool array -> unit
   (** [mincore buffer offset states] tests whether the given pages are
       in the system memory (the RAM). The [offset] argument must be a
       multiple of {!page_size}. [states] is used to store the result;
-      each cases is [true] if the corresponding page in the RAM and
+      each cases is [true] if the corresponding page is in RAM and
       [false] otherwise.
 
       This call is not available on windows. *)
 
 val wait_mincore : t -> int -> unit Lwt.t
   (** [wait_mincore buffer offset] waits until the page containing the
-      byte at offset [offset] in the the RAM.
+      byte at offset [offset] is in RAM.
 
       This functions is not available on windows. *)
diff --git a/src/unix/lwt_chan.ml b/src/unix/lwt_chan.ml
index db22881..5ff1cf2 100644
--- a/src/unix/lwt_chan.ml
+++ b/src/unix/lwt_chan.ml
@@ -1,9 +1,9 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_chan
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *                    2009 J�r�mie Dimino
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *                    2009 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_chan.mli b/src/unix/lwt_chan.mli
index 3ad2d2d..0a1e796 100644
--- a/src/unix/lwt_chan.mli
+++ b/src/unix/lwt_chan.mli
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt_chan
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_daemon.mli b/src/unix/lwt_daemon.mli
index bdb009e..6cb48ea 100644
--- a/src/unix/lwt_daemon.mli
+++ b/src/unix/lwt_daemon.mli
@@ -59,10 +59,10 @@ val daemonize :
       - [`Log_default] means that the output is redirected to the
         default logger
 
-      Both [stdout] and [stderr] defaults to [`Log_default].
+      Both [stdout] and [stderr] default to [`Log_default].
 
       Warning: do not redirect an output to a logger logging into this
-      outpout, for example this code will create an infinite loop:
+      output. For example, this code will create an infinite loop:
 
       {[
         let logger = Lwt_log.channel ~close_mode:`Keep ~channel:Lwt_io.stderr 
() in
@@ -75,7 +75,7 @@ val daemonize :
 
       [umask] may be one of:
       - [`Keep] which means that the umask is left unchanged
-      - [`Set n] which means that the umash is set to [n]
+      - [`Set n] which means that the umask is set to [n]
 
       It defaults to [`Set 0o022].
   *)
diff --git a/src/unix/lwt_engine.ml b/src/unix/lwt_engine.ml
index d427087..568ea44 100644
--- a/src/unix/lwt_engine.ml
+++ b/src/unix/lwt_engine.ml
@@ -195,8 +195,13 @@ let rec restart_actions sleep_queue now =
     | Some{ stopped = true } ->
         restart_actions (Sleep_queue.remove_min sleep_queue) now
     | Some{ time = time; action = action } when time <= now ->
+        (* We have to remove the sleeper to the queue before performing
+           the action. The action can change the sleeper's time, and this
+           might break the priority queue invariant if the sleeper is
+           still in the queue. *)
+        let q = Sleep_queue.remove_min sleep_queue in
         action ();
-        restart_actions (Sleep_queue.remove_min sleep_queue) now
+        restart_actions q now
     | _ ->
         sleep_queue
 
diff --git a/src/unix/lwt_engine.mli b/src/unix/lwt_engine.mli
index edd0b4d..86c62e3 100644
--- a/src/unix/lwt_engine.mli
+++ b/src/unix/lwt_engine.mli
@@ -38,7 +38,7 @@ val fake_event : event
 
 val iter : bool -> unit
   (** [iter block] performs one iteration of the main loop. If [block]
-      is [true] the function must blocks until one event become
+      is [true] the function must block until one event becomes
       available, otherwise it should just check for available events
       and return immediately. *)
 
@@ -69,8 +69,8 @@ val fake_io : Unix.file_descr -> unit
 
 (** {2 Engines} *)
 
-(** An engine represent a set of functions used to register different
-    kind of callbacks for different kind of events. *)
+(** An engine represents a set of functions used to register different
+    kinds of callbacks for different kinds of events. *)
 
 (** Abstract class for engines. *)
 class virtual abstract : object
@@ -82,7 +82,7 @@ class virtual abstract : object
     (** [transfer engine] moves all events from the current engine to
         [engine]. Note that timers are reset in the destination
         engine, i.e. if a timer with a delay of 2 seconds was
-        registered 1 second ago it will occurs in 2 seconds in the
+        registered 1 second ago it will occur in 2 seconds in the
         destination engine. *)
 
   (** {2 Event loop methods} *)
@@ -102,12 +102,12 @@ class virtual abstract : object
 
       - the callback passed to register methods is of type [unit ->
       unit] and not [event -> unit]
-      - register methods returns a lazy value which unregister the
+      - register methods return a lazy value which unregisters the
       event when forced
   *)
 
   method virtual private cleanup : unit
-    (** Cleanup resources associated to the engine. *)
+    (** Cleanup resources associated with the engine. *)
 
   method virtual private register_readable : Unix.file_descr -> (unit -> unit) 
-> unit Lazy.t
   method virtual private register_writable : Unix.file_descr -> (unit -> unit) 
-> unit Lazy.t
diff --git a/src/unix/lwt_gc.mli b/src/unix/lwt_gc.mli
index f749b62..0fc20c7 100644
--- a/src/unix/lwt_gc.mli
+++ b/src/unix/lwt_gc.mli
@@ -22,18 +22,18 @@
 
 (** Interaction with the garbage collector *)
 
-(** This module offer a convenient way to add a finaliser launching a
+(** This module offers a convenient way to add a finaliser launching a
     thread to a value, without having to use [Lwt_unix.run] in the
     finaliser. *)
 
 val finalise : ('a -> unit Lwt.t) -> 'a -> unit
   (** [finalise f x] ensures [f x] is evaluated after [x] has been
-      garbage collected. If [f x] yields, then Lwt will waits for its
+      garbage collected. If [f x] yields, then Lwt will wait for its
       termination at the end of the program.
 
       Note that [f x] is not called at garbage collection time, but
-      latter in the main loop. *)
+      later in the main loop. *)
 
 val finalise_or_exit : ('a -> unit Lwt.t) -> 'a -> unit
   (** [finalise_or_exit f x] call [f x] when [x] is garbage collected
-      or (exclusively) when the program exit. *)
+      or (exclusively) when the program exits. *)
diff --git a/src/unix/lwt_process_stubs.c b/src/unix/lwt_process_stubs.c
index 5ec2ccd..c772782 100644
--- a/src/unix/lwt_process_stubs.c
+++ b/src/unix/lwt_process_stubs.c
@@ -24,8 +24,6 @@
 
 #if defined(LWT_ON_WINDOWS)
 
-#include <windows.h>
-
 #include <lwt_unix.h>
 
 #include <caml/memory.h>
diff --git a/src/unix/lwt_throttle.ml b/src/unix/lwt_throttle.ml
index 3cc4d3c..2e693cd 100644
--- a/src/unix/lwt_throttle.ml
+++ b/src/unix/lwt_throttle.ml
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_throttle
- * Copyright (C) 2008 St�phane Glondu
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2008 Stéphane Glondu
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_throttle.mli b/src/unix/lwt_throttle.mli
index 1832126..4867598 100644
--- a/src/unix/lwt_throttle.mli
+++ b/src/unix/lwt_throttle.mli
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_throttle
- * Copyright (C) 2008 St�phane Glondu
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2008 Stéphane Glondu
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_timeout.ml b/src/unix/lwt_timeout.ml
index 5a11b88..f33b7c3 100644
--- a/src/unix/lwt_timeout.ml
+++ b/src/unix/lwt_timeout.ml
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_timeout
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_timeout.mli b/src/unix/lwt_timeout.mli
index 33202e4..a48f8e6 100644
--- a/src/unix/lwt_timeout.mli
+++ b/src/unix/lwt_timeout.mli
@@ -1,8 +1,8 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt_timeout
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_unix.h b/src/unix/lwt_unix.h
index cdb391c..d3b5c9a 100644
--- a/src/unix/lwt_unix.h
+++ b/src/unix/lwt_unix.h
@@ -72,6 +72,9 @@ void lwt_unix_not_available(char const *feature) Noreturn;
 #define LWT_NOT_AVAILABLE5(prim) \
   CAMLprim value lwt_ ## prim(value a1, value a2, value a3, value a4, value 
a5) \
   { lwt_unix_not_available(#prim); }
+#define LWT_NOT_AVAILABLE6(prim) \
+  CAMLprim value lwt_ ## prim(value a1, value a2, value a3, value a4, value 
a5, value a6) \
+  { lwt_unix_not_available(#prim); }
 
 /* +-----------------------------------------------------------------+
    | Notifications                                                   |
diff --git a/src/unix/lwt_unix.ml b/src/unix/lwt_unix.ml
index 91f4565..4edb9c0 100644
--- a/src/unix/lwt_unix.ml
+++ b/src/unix/lwt_unix.ml
@@ -1,9 +1,9 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Module Lwt_unix
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *                    2009 J�r�mie Dimino
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *                    2009 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
@@ -1329,7 +1329,7 @@ let shutdown ch shutdown_command =
 external stub_socketpair : socket_domain -> socket_type -> int -> 
Unix.file_descr * Unix.file_descr = "lwt_unix_socketpair_stub"
 
 let socketpair dom typ proto =
-  let do_socketpair = if Sys.win32 then Unix.socketpair else stub_socketpair in
+  let do_socketpair = if Sys.win32 then stub_socketpair else Unix.socketpair  
in
   let (s1, s2) = do_socketpair dom typ proto in
   (mk_ch ~blocking:false s1, mk_ch ~blocking:false s2)
 
diff --git a/src/unix/lwt_unix.mli b/src/unix/lwt_unix.mli
index a0b8ee7..e40e036 100644
--- a/src/unix/lwt_unix.mli
+++ b/src/unix/lwt_unix.mli
@@ -1,9 +1,9 @@
 (* Lightweight thread library for OCaml
  * http://www.ocsigen.org/lwt
  * Interface Lwt_unix
- * Copyright (C) 2005-2008 J�r�me Vouillon
- * Laboratoire PPS - CNRS Universit� Paris Diderot
- *                    2009 J�r�mie Dimino
+ * Copyright (C) 2005-2008 Jérôme Vouillon
+ * Laboratoire PPS - CNRS Université Paris Diderot
+ *                    2009 Jérémie Dimino
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
diff --git a/src/unix/lwt_unix_stubs.c b/src/unix/lwt_unix_stubs.c
index b013fde..e789d1c 100644
--- a/src/unix/lwt_unix_stubs.c
+++ b/src/unix/lwt_unix_stubs.c
@@ -22,11 +22,6 @@
 
 #include "lwt_config.h"
 
-#if defined(LWT_ON_WINDOWS)
-#  include <winsock2.h>
-#  include <windows.h>
-#endif
-
 #define _GNU_SOURCE
 #define _POSIX_PTHREAD_SEMANTICS
 
diff --git a/src/unix/lwt_unix_windows.c b/src/unix/lwt_unix_windows.c
index d2206ff..7152c3f 100644
--- a/src/unix/lwt_unix_windows.c
+++ b/src/unix/lwt_unix_windows.c
@@ -519,6 +519,7 @@ LWT_NOT_AVAILABLE5(unix_bytes_send)
 LWT_NOT_AVAILABLE3(unix_bytes_recv_msg)
 LWT_NOT_AVAILABLE3(unix_bytes_send_msg)
 LWT_NOT_AVAILABLE6(unix_bytes_sendto)
+LWT_NOT_AVAILABLE6(unix_bytes_sendto_byte)
 LWT_NOT_AVAILABLE6(unix_madvise)
 LWT_NOT_AVAILABLE4(unix_mincore)
 LWT_NOT_AVAILABLE2(unix_wait_mincore_job)
@@ -544,6 +545,7 @@ LWT_NOT_AVAILABLE5(unix_recv)
 LWT_NOT_AVAILABLE5(unix_send)
 LWT_NOT_AVAILABLE5(unix_recvfrom)
 LWT_NOT_AVAILABLE6(unix_sendto)
+LWT_NOT_AVAILABLE6(unix_sendto_byte)
 LWT_NOT_AVAILABLE3(unix_recv_msg)
 LWT_NOT_AVAILABLE3(unix_send_msg)
 LWT_NOT_AVAILABLE1(unix_gethostname_job)
@@ -562,3 +564,5 @@ LWT_NOT_AVAILABLE1(unix_getpwnam_job)
 LWT_NOT_AVAILABLE1(unix_getgrnam_job)
 LWT_NOT_AVAILABLE1(unix_getpwuid_job)
 LWT_NOT_AVAILABLE1(unix_getgrgid_job)
+LWT_NOT_AVAILABLE4(unix_wait4)
+LWT_NOT_AVAILABLE5(unix_bytes_recvfrom)
diff --git a/tests/META b/tests/META
index 4627a94..4ba2730 100644
--- a/tests/META
+++ b/tests/META
@@ -1,6 +1,6 @@
 # OASIS_START
-# DO NOT EDIT (digest: 67839050aaba5bb088193f5c5e0ad1e9)
-version = "2.4.7"
+# DO NOT EDIT (digest: 60417049ccf3b8855430ef580312d0d1)
+version = "2.4.8"
 description = "Lightweight thread library for OCaml"
 requires = "lwt unix lwt.unix"
 archive(byte) = "test.cma"
diff --git a/tests/unix/test_lwt_io.ml b/tests/unix/test_lwt_io.ml
index c81bdd7..4cbea5b 100644
--- a/tests/unix/test_lwt_io.ml
+++ b/tests/unix/test_lwt_io.ml
@@ -39,7 +39,7 @@ let suite = suite "lwt_io" [
          return false
        else
          Lwt_unix.yield () >>= fun () ->
-         return (!sent = ["foobar"]));
+         return (!sent = [Bytes.of_string "foobar"]));
 
   test "auto-flush in atomic"
     (fun () ->
@@ -57,6 +57,6 @@ let suite = suite "lwt_io" [
               return false
             else
               Lwt_unix.yield () >>= fun () ->
-              return (!sent = ["foobar"]))
+              return (!sent = [Bytes.of_string "foobar"]))
          oc);
 ]

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-ocaml-maint/packages/lwt.git

_______________________________________________
Pkg-ocaml-maint-commits mailing list
Pkg-ocaml-maint-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits

Reply via email to