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 <[email protected]> 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 <[email protected]> +# Copyright : (c) 2012, Jérémie Dimino <[email protected]> # 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 <[email protected]> +# Copyright : (c) 2010, Jérémie Dimino <[email protected]> # 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 <[email protected]> + * Copyright : (c) 2011, Jérémie Dimino <[email protected]> * 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 <[email protected]> + * Copyright : (c) 2011, Jérémie Dimino <[email protected]> * 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 <[email protected]> + * Copyright : (c) 2011, Jérémie Dimino <[email protected]> * 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 [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits

