initial import of lwt-2.4.0; espie@ ok
Does not include the enhanced top-level, which will be added in a later update. From Christopher Zimmermann <madroach@gmerlin.de> -- Lwt provides very light-weight cooperative threads for OCaml; ``launching'' a thread is a very fast operation, it does not require a new stack, a new process, or anything else. Moreover context switches are very fast. In fact, it is so easy that a thread can be launched for every system call. And composing cooperative threads will allow highly asynchronous programs.
This commit is contained in:
parent
4e17c8a397
commit
0852c11f05
38
devel/ocaml-lwt/Makefile
Normal file
38
devel/ocaml-lwt/Makefile
Normal file
@ -0,0 +1,38 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
|
||||
COMMENT = cooperative lightweight thread library
|
||||
CATEGORIES = devel
|
||||
|
||||
DISTNAME = lwt-2.4.0
|
||||
PKGNAME = ocaml-${DISTNAME}
|
||||
MASTER_SITES = http://ocsigen.org/download/
|
||||
|
||||
HOMEPAGE = http://ocsigen.org/lwt/
|
||||
|
||||
|
||||
# LGPLv2.1
|
||||
PERMIT_PACKAGE_FTP = Yes
|
||||
PERMIT_PACKAGE_CDROM = Yes
|
||||
PERMIT_DISTFILES_FTP = Yes
|
||||
PERMIT_DISTFILES_CDROM = Yes
|
||||
|
||||
MODULES = lang/ocaml
|
||||
|
||||
MYDEPENDS = devel/ocaml-react \
|
||||
textproc/ocaml-text \
|
||||
security/ocaml-ssl
|
||||
BUILD_DEPENDS = ${MYDEPENDS} sysutils/findlib
|
||||
RUN_DEPENDS = ${MYDEPENDS} lang/ocaml
|
||||
LIB_DEPENDS = devel/glib2 devel/libev converters/libiconv
|
||||
WANTLIB = glib-2.0 ev iconv intl pthread
|
||||
|
||||
CONFIGURE_STYLE = oasis
|
||||
CONFIGURE_ARGS = --enable-tests --enable-react --enable-glib --enable-ssl
|
||||
|
||||
|
||||
post-install:
|
||||
${INSTALL_DATA} \
|
||||
${WRKDIST}/{CHANGES,COPYING,README} \
|
||||
${PREFIX}/share/doc/ocaml-lwt/
|
||||
|
||||
.include <bsd.port.mk>
|
2
devel/ocaml-lwt/distinfo
Normal file
2
devel/ocaml-lwt/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (lwt-2.4.0.tar.gz) = mY0rIcnq9SrWPHysF5SABh/tTmp1hdh5eMZs7var30g=
|
||||
SIZE (lwt-2.4.0.tar.gz) = 501062
|
74
devel/ocaml-lwt/patches/patch-discover_ml
Normal file
74
devel/ocaml-lwt/patches/patch-discover_ml
Normal file
@ -0,0 +1,74 @@
|
||||
$OpenBSD: patch-discover_ml,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
--- discover.ml.orig Thu Jul 19 13:35:56 2012
|
||||
+++ discover.ml Sat Aug 18 07:23:25 2012
|
||||
@@ -114,15 +114,18 @@ CAMLprim value lwt_test()
|
||||
}
|
||||
"
|
||||
|
||||
-let get_credentials_code = "
|
||||
+let get_credentials_code struct_name = "
|
||||
+#define _GNU_SOURCE
|
||||
#include <caml/mlvalues.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
CAMLprim value lwt_test()
|
||||
{
|
||||
- getsockopt(0, SOL_SOCKET, SO_PEERCRED, 0, 0);
|
||||
- return Val_unit;
|
||||
+ struct " ^ struct_name ^ " cred;
|
||||
+ socklen_t cred_len = sizeof(cred);
|
||||
+ getsockopt(0, SOL_SOCKET, SO_PEERCRED, &cred, &cred_len);
|
||||
+ return Val_unit;
|
||||
}
|
||||
"
|
||||
|
||||
@@ -133,10 +136,10 @@ let get_peereid_code = "
|
||||
|
||||
CAMLprim value lwt_test()
|
||||
{
|
||||
- uid_t euid;
|
||||
- gid_t egid;
|
||||
- getpeereid(0, &euid, &egid);
|
||||
- return Val_unit;
|
||||
+ uid_t euid;
|
||||
+ gid_t egid;
|
||||
+ getpeereid(0, &euid, &egid);
|
||||
+ return Val_unit;
|
||||
}
|
||||
"
|
||||
|
||||
@@ -461,10 +464,32 @@ Lwt can use pthread or the win32 API.
|
||||
test_feature ~do_check "fd passing" "HAVE_FD_PASSING" (fun () -> test_code ([], []) fd_passing_code);
|
||||
test_feature ~do_check "sched_getcpu" "HAVE_GETCPU" (fun () -> test_code ([], []) getcpu_code);
|
||||
test_feature ~do_check "affinity getting/setting" "HAVE_AFFINITY" (fun () -> test_code ([], []) affinity_code);
|
||||
- test_feature ~do_check "credentials getting (getsockopt)" "HAVE_GET_CREDENTIALS" (fun () -> test_code ([], []) get_credentials_code);
|
||||
+ test_feature ~do_check "credentials getting (Linux)" "HAVE_GET_CREDENTIALS_LINUX" (fun () -> test_code ([], []) (get_credentials_code "ucred"));
|
||||
+ test_feature ~do_check "credentials getting (NetBSD)" "HAVE_GET_CREDENTIALS_NETBSD" (fun () -> test_code ([], []) (get_credentials_code "sockcred"));
|
||||
+ test_feature ~do_check "credentials getting (OpenBSD)" "HAVE_GET_CREDENTIALS_OPENBSD" (fun () -> test_code ([], []) (get_credentials_code "sockpeercred"));
|
||||
+ test_feature ~do_check "credentials getting (FreeBSD)" "HAVE_GET_CREDENTIALS_FREEBSD" (fun () -> test_code ([], []) (get_credentials_code "cmsgcred"));
|
||||
test_feature ~do_check "credentials getting (getpeereid)" "HAVE_GETPEEREID" (fun () -> test_code ([], []) get_peereid_code);
|
||||
test_feature ~do_check "fdatasync" "HAVE_FDATASYNC" (fun () -> test_code ([], []) fdatasync_code);
|
||||
test_feature ~do_check "netdb_reentrant" "HAVE_NETDB_REENTRANT" (fun () -> test_code ([], []) netdb_reentrant_code);
|
||||
+
|
||||
+ let get_cred_vars = [
|
||||
+ "HAVE_GET_CREDENTIALS_LINUX";
|
||||
+ "HAVE_GET_CREDENTIALS_NETBSD";
|
||||
+ "HAVE_GET_CREDENTIALS_OPENBSD";
|
||||
+ "HAVE_GET_CREDENTIALS_FREEBSD";
|
||||
+ "HAVE_GETPEEREID";
|
||||
+ ] in
|
||||
+
|
||||
+ Printf.fprintf config "\
|
||||
+#if %s
|
||||
+# define HAVE_GET_CREDENTIALS
|
||||
+#endif
|
||||
+"
|
||||
+ (String.concat " || " (List.map (Printf.sprintf "defined(%s)") get_cred_vars));
|
||||
+
|
||||
+ Printf.fprintf config_ml
|
||||
+ "#let HAVE_GET_CREDENTIALS = %s\n"
|
||||
+ (String.concat " || " get_cred_vars);
|
||||
|
||||
if !os_type = "Win32" then begin
|
||||
output_string config "#define LWT_ON_WINDOWS\n";
|
30
devel/ocaml-lwt/patches/patch-setup_ml
Normal file
30
devel/ocaml-lwt/patches/patch-setup_ml
Normal file
@ -0,0 +1,30 @@
|
||||
$OpenBSD: patch-setup_ml,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
--- setup.ml.orig Thu Jul 19 13:36:00 2012
|
||||
+++ setup.ml Fri Aug 17 15:44:30 2012
|
||||
@@ -5748,7 +5748,7 @@ let setup_t =
|
||||
CustomPlugin.cmd_main =
|
||||
[
|
||||
(OASISExpr.EBool true,
|
||||
- ("make", ["-C"; "manual"; "manual.pdf"]))
|
||||
+ ("gmake", ["-C"; "manual"; "manual.pdf"]))
|
||||
];
|
||||
cmd_clean = [(OASISExpr.EBool true, None)];
|
||||
cmd_distclean = [(OASISExpr.EBool true, None)];
|
||||
@@ -5801,7 +5801,7 @@ let setup_t =
|
||||
CustomPlugin.cmd_main =
|
||||
[
|
||||
(OASISExpr.EBool true,
|
||||
- ("make", ["-C"; "manual"; "manual.pdf"]))
|
||||
+ ("gmake", ["-C"; "manual"; "manual.pdf"]))
|
||||
];
|
||||
cmd_clean = [(OASISExpr.EBool true, None)];
|
||||
cmd_distclean = [(OASISExpr.EBool true, None)];
|
||||
@@ -5852,7 +5852,7 @@ let setup_t =
|
||||
CustomPlugin.cmd_main =
|
||||
[
|
||||
(OASISExpr.EBool true,
|
||||
- ("make", ["-C"; "manual"; "manual.pdf"]))
|
||||
+ ("gmake", ["-C"; "manual"; "manual.pdf"]))
|
||||
];
|
||||
cmd_clean = [(OASISExpr.EBool true, None)];
|
||||
cmd_distclean = [(OASISExpr.EBool true, None)];
|
12
devel/ocaml-lwt/patches/patch-src_unix_lwt_unix_ml
Normal file
12
devel/ocaml-lwt/patches/patch-src_unix_lwt_unix_ml
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-src_unix_lwt_unix_ml,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
--- src/unix/lwt_unix.ml.orig Thu Jul 19 13:35:56 2012
|
||||
+++ src/unix/lwt_unix.ml Sat Aug 18 07:23:25 2012
|
||||
@@ -1748,7 +1748,7 @@ type credentials = {
|
||||
cred_gid : int;
|
||||
}
|
||||
|
||||
-#if HAVE_GET_CREDENTIALS || HAVE_GETPEEREID
|
||||
+#if HAVE_GET_CREDENTIALS
|
||||
|
||||
external stub_get_credentials : Unix.file_descr -> credentials = "lwt_unix_get_credentials"
|
||||
|
77
devel/ocaml-lwt/patches/patch-src_unix_lwt_unix_unix_c
Normal file
77
devel/ocaml-lwt/patches/patch-src_unix_lwt_unix_unix_c
Normal file
@ -0,0 +1,77 @@
|
||||
$OpenBSD: patch-src_unix_lwt_unix_unix_c,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
--- src/unix/lwt_unix_unix.c.orig Thu Jul 19 13:35:56 2012
|
||||
+++ src/unix/lwt_unix_unix.c Sat Aug 18 09:30:51 2012
|
||||
@@ -26,12 +26,17 @@
|
||||
|
||||
#define ARGS(args...) args
|
||||
|
||||
+#include <sys/uio.h>
|
||||
+#include <sys/un.h>
|
||||
+#include <sys/time.h>
|
||||
+#include <sys/resource.h>
|
||||
+#include <sys/wait.h>
|
||||
+#include <poll.h>
|
||||
+
|
||||
/* +-----------------------------------------------------------------+
|
||||
| Test for readability/writability |
|
||||
+-----------------------------------------------------------------+ */
|
||||
|
||||
-#include <poll.h>
|
||||
-
|
||||
CAMLprim value lwt_unix_readable(value fd)
|
||||
{
|
||||
struct pollfd pollfd;
|
||||
@@ -411,24 +416,36 @@ CAMLprim value lwt_unix_bytes_send_msg(value val_fd, v
|
||||
| Credentials |
|
||||
+-----------------------------------------------------------------+ */
|
||||
|
||||
-#if defined(HAVE_GET_CREDENTIALS)
|
||||
+#if defined(HAVE_GET_CREDENTIALS_LINUX)
|
||||
+# define CREDENTIALS_TYPE struct ucred
|
||||
+# define CREDENTIALS_FIELD(id) id
|
||||
+#elif defined(HAVE_GET_CREDENTIALS_NETBSD)
|
||||
+# define CREDENTIALS_TYPE struct sockcred
|
||||
+# define CREDENTIALS_FIELD(id) sc_ ## id
|
||||
+#elif defined(HAVE_GET_CREDENTIALS_OPENBSD)
|
||||
+# define CREDENTIALS_TYPE struct sockpeercred
|
||||
+# define CREDENTIALS_FIELD(id) id
|
||||
+#elif defined(HAVE_GET_CREDENTIALS_FREEBSD)
|
||||
+# define CREDENTIALS_TYPE struct cmsgcred
|
||||
+# define CREDENTIALS_FIELD(id) cmsgcred_ ## id
|
||||
+#endif
|
||||
|
||||
-#include <sys/un.h>
|
||||
+#if defined(CREDENTIALS_TYPE)
|
||||
|
||||
CAMLprim value lwt_unix_get_credentials(value fd)
|
||||
{
|
||||
CAMLparam1(fd);
|
||||
CAMLlocal1(res);
|
||||
- struct ucred cred;
|
||||
+ CREDENTIALS_TYPE cred;
|
||||
socklen_t cred_len = sizeof(cred);
|
||||
|
||||
if (getsockopt(Int_val(fd), SOL_SOCKET, SO_PEERCRED, &cred, &cred_len) == -1)
|
||||
uerror("get_credentials", Nothing);
|
||||
|
||||
res = caml_alloc_tuple(3);
|
||||
- Store_field(res, 0, Val_int(cred.pid));
|
||||
- Store_field(res, 1, Val_int(cred.uid));
|
||||
- Store_field(res, 2, Val_int(cred.gid));
|
||||
+ Store_field(res, 0, Val_int(cred.CREDENTIALS_FIELD(pid)));
|
||||
+ Store_field(res, 1, Val_int(cred.CREDENTIALS_FIELD(uid)));
|
||||
+ Store_field(res, 2, Val_int(cred.CREDENTIALS_FIELD(gid)));
|
||||
CAMLreturn(res);
|
||||
}
|
||||
|
||||
@@ -458,10 +475,6 @@ CAMLprim value lwt_unix_get_credentials(value fd)
|
||||
+-----------------------------------------------------------------+ */
|
||||
|
||||
/* Some code duplicated from OCaml's otherlibs/unix/wait.c */
|
||||
-
|
||||
-#include <sys/time.h>
|
||||
-#include <sys/resource.h>
|
||||
-#include <sys/wait.h>
|
||||
|
||||
CAMLextern int caml_convert_signal_number (int);
|
||||
CAMLextern int caml_rev_convert_signal_number (int);
|
6
devel/ocaml-lwt/pkg/DESCR
Normal file
6
devel/ocaml-lwt/pkg/DESCR
Normal file
@ -0,0 +1,6 @@
|
||||
Lwt provides very light-weight cooperative threads for OCaml;
|
||||
``launching'' a thread is a very fast operation, it does not require
|
||||
a new stack, a new process, or anything else. Moreover context
|
||||
switches are very fast. In fact, it is so easy that a thread can
|
||||
be launched for every system call. And composing cooperative threads
|
||||
will allow highly asynchronous programs.
|
12
devel/ocaml-lwt/pkg/PFRAG.dynlink-native
Normal file
12
devel/ocaml-lwt/pkg/PFRAG.dynlink-native
Normal file
@ -0,0 +1,12 @@
|
||||
@comment $OpenBSD: PFRAG.dynlink-native,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
@bin lib/ocaml/lwt/lwt-extra.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-glib.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-preemptive.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-react.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-simple-top.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-ssl.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-syntax-log.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-syntax-options.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-syntax.cmxs
|
||||
@bin lib/ocaml/lwt/lwt-unix.cmxs
|
||||
@bin lib/ocaml/lwt/lwt.cmxs
|
61
devel/ocaml-lwt/pkg/PFRAG.native
Normal file
61
devel/ocaml-lwt/pkg/PFRAG.native
Normal file
@ -0,0 +1,61 @@
|
||||
@comment $OpenBSD: PFRAG.native,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
%%dynlink%%
|
||||
lib/ocaml/lwt/lwt-extra.a
|
||||
lib/ocaml/lwt/lwt-extra.cmxa
|
||||
lib/ocaml/lwt/lwt-glib.a
|
||||
lib/ocaml/lwt/lwt-glib.cmxa
|
||||
lib/ocaml/lwt/lwt-preemptive.a
|
||||
lib/ocaml/lwt/lwt-preemptive.cmxa
|
||||
lib/ocaml/lwt/lwt-react.a
|
||||
lib/ocaml/lwt/lwt-react.cmxa
|
||||
lib/ocaml/lwt/lwt-simple-top.a
|
||||
lib/ocaml/lwt/lwt-simple-top.cmxa
|
||||
lib/ocaml/lwt/lwt-ssl.a
|
||||
lib/ocaml/lwt/lwt-ssl.cmxa
|
||||
lib/ocaml/lwt/lwt-syntax-log.a
|
||||
lib/ocaml/lwt/lwt-syntax-log.cmxa
|
||||
lib/ocaml/lwt/lwt-syntax-options.a
|
||||
lib/ocaml/lwt/lwt-syntax-options.cmxa
|
||||
lib/ocaml/lwt/lwt-syntax.a
|
||||
lib/ocaml/lwt/lwt-syntax.cmxa
|
||||
lib/ocaml/lwt/lwt-unix.a
|
||||
lib/ocaml/lwt/lwt-unix.cmxa
|
||||
lib/ocaml/lwt/lwt.a
|
||||
lib/ocaml/lwt/lwt.cmx
|
||||
lib/ocaml/lwt/lwt.cmxa
|
||||
lib/ocaml/lwt/lwt_bytes.cmx
|
||||
lib/ocaml/lwt/lwt_chan.cmx
|
||||
lib/ocaml/lwt/lwt_condition.cmx
|
||||
lib/ocaml/lwt/lwt_daemon.cmx
|
||||
lib/ocaml/lwt/lwt_engine.cmx
|
||||
lib/ocaml/lwt/lwt_event.cmx
|
||||
lib/ocaml/lwt/lwt_gc.cmx
|
||||
lib/ocaml/lwt/lwt_glib.cmx
|
||||
lib/ocaml/lwt/lwt_io.cmx
|
||||
lib/ocaml/lwt/lwt_lib.cmx
|
||||
lib/ocaml/lwt/lwt_list.cmx
|
||||
lib/ocaml/lwt/lwt_log.cmx
|
||||
lib/ocaml/lwt/lwt_log_rules.cmx
|
||||
lib/ocaml/lwt/lwt_main.cmx
|
||||
lib/ocaml/lwt/lwt_mutex.cmx
|
||||
lib/ocaml/lwt/lwt_mvar.cmx
|
||||
lib/ocaml/lwt/lwt_pool.cmx
|
||||
lib/ocaml/lwt/lwt_pqueue.cmx
|
||||
lib/ocaml/lwt/lwt_preemptive.cmx
|
||||
lib/ocaml/lwt/lwt_process.cmx
|
||||
lib/ocaml/lwt/lwt_react.cmx
|
||||
lib/ocaml/lwt/lwt_sequence.cmx
|
||||
lib/ocaml/lwt/lwt_signal.cmx
|
||||
lib/ocaml/lwt/lwt_simple_top.cmx
|
||||
lib/ocaml/lwt/lwt_ssl.cmx
|
||||
lib/ocaml/lwt/lwt_stream.cmx
|
||||
lib/ocaml/lwt/lwt_switch.cmx
|
||||
lib/ocaml/lwt/lwt_sys.cmx
|
||||
lib/ocaml/lwt/lwt_throttle.cmx
|
||||
lib/ocaml/lwt/lwt_timeout.cmx
|
||||
lib/ocaml/lwt/lwt_unix.cmx
|
||||
lib/ocaml/lwt/lwt_unix_jobs_generated.cmx
|
||||
lib/ocaml/lwt/lwt_util.cmx
|
||||
lib/ocaml/lwt/pa_lwt.cmx
|
||||
lib/ocaml/lwt/pa_lwt_log.cmx
|
||||
lib/ocaml/lwt/pa_lwt_options.cmx
|
3
devel/ocaml-lwt/pkg/PFRAG.shared
Normal file
3
devel/ocaml-lwt/pkg/PFRAG.shared
Normal file
@ -0,0 +1,3 @@
|
||||
@comment $OpenBSD: PFRAG.shared,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
lib/ocaml/stublibs/dlllwt-glib_stubs.so
|
||||
lib/ocaml/stublibs/dlllwt-unix_stubs.so
|
242
devel/ocaml-lwt/pkg/PLIST
Normal file
242
devel/ocaml-lwt/pkg/PLIST
Normal file
@ -0,0 +1,242 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/08/19 00:27:50 avsm Exp $
|
||||
%%SHARED%%
|
||||
%%native%%
|
||||
lib/ocaml/lwt/
|
||||
lib/ocaml/lwt/META
|
||||
lib/ocaml/lwt/liblwt-glib_stubs.a
|
||||
lib/ocaml/lwt/liblwt-unix_stubs.a
|
||||
lib/ocaml/lwt/lwt-extra.cma
|
||||
lib/ocaml/lwt/lwt-glib.cma
|
||||
lib/ocaml/lwt/lwt-preemptive.cma
|
||||
lib/ocaml/lwt/lwt-react.cma
|
||||
lib/ocaml/lwt/lwt-simple-top.cma
|
||||
lib/ocaml/lwt/lwt-ssl.cma
|
||||
lib/ocaml/lwt/lwt-syntax-log.cma
|
||||
lib/ocaml/lwt/lwt-syntax-options.cma
|
||||
lib/ocaml/lwt/lwt-syntax.cma
|
||||
lib/ocaml/lwt/lwt-unix.cma
|
||||
lib/ocaml/lwt/lwt.cma
|
||||
lib/ocaml/lwt/lwt.cmi
|
||||
lib/ocaml/lwt/lwt.mli
|
||||
lib/ocaml/lwt/lwt_bytes.cmi
|
||||
lib/ocaml/lwt/lwt_bytes.mli
|
||||
lib/ocaml/lwt/lwt_chan.cmi
|
||||
lib/ocaml/lwt/lwt_chan.mli
|
||||
lib/ocaml/lwt/lwt_condition.cmi
|
||||
lib/ocaml/lwt/lwt_condition.mli
|
||||
lib/ocaml/lwt/lwt_config.h
|
||||
lib/ocaml/lwt/lwt_config.ml
|
||||
lib/ocaml/lwt/lwt_daemon.cmi
|
||||
lib/ocaml/lwt/lwt_daemon.mli
|
||||
lib/ocaml/lwt/lwt_engine.cmi
|
||||
lib/ocaml/lwt/lwt_engine.mli
|
||||
lib/ocaml/lwt/lwt_event.cmi
|
||||
lib/ocaml/lwt/lwt_event.mli
|
||||
lib/ocaml/lwt/lwt_gc.cmi
|
||||
lib/ocaml/lwt/lwt_gc.mli
|
||||
lib/ocaml/lwt/lwt_glib.cmi
|
||||
lib/ocaml/lwt/lwt_glib.mli
|
||||
lib/ocaml/lwt/lwt_io.cmi
|
||||
lib/ocaml/lwt/lwt_io.mli
|
||||
lib/ocaml/lwt/lwt_lib.cmi
|
||||
lib/ocaml/lwt/lwt_lib.mli
|
||||
lib/ocaml/lwt/lwt_list.cmi
|
||||
lib/ocaml/lwt/lwt_list.mli
|
||||
lib/ocaml/lwt/lwt_log.cmi
|
||||
lib/ocaml/lwt/lwt_log.mli
|
||||
lib/ocaml/lwt/lwt_main.cmi
|
||||
lib/ocaml/lwt/lwt_main.mli
|
||||
lib/ocaml/lwt/lwt_mutex.cmi
|
||||
lib/ocaml/lwt/lwt_mutex.mli
|
||||
lib/ocaml/lwt/lwt_mvar.cmi
|
||||
lib/ocaml/lwt/lwt_mvar.mli
|
||||
lib/ocaml/lwt/lwt_pool.cmi
|
||||
lib/ocaml/lwt/lwt_pool.mli
|
||||
lib/ocaml/lwt/lwt_pqueue.cmi
|
||||
lib/ocaml/lwt/lwt_pqueue.mli
|
||||
lib/ocaml/lwt/lwt_preemptive.cmi
|
||||
lib/ocaml/lwt/lwt_preemptive.mli
|
||||
lib/ocaml/lwt/lwt_process.cmi
|
||||
lib/ocaml/lwt/lwt_process.mli
|
||||
lib/ocaml/lwt/lwt_react.cmi
|
||||
lib/ocaml/lwt/lwt_react.mli
|
||||
lib/ocaml/lwt/lwt_sequence.cmi
|
||||
lib/ocaml/lwt/lwt_sequence.mli
|
||||
lib/ocaml/lwt/lwt_signal.cmi
|
||||
lib/ocaml/lwt/lwt_signal.mli
|
||||
lib/ocaml/lwt/lwt_ssl.cmi
|
||||
lib/ocaml/lwt/lwt_ssl.mli
|
||||
lib/ocaml/lwt/lwt_stream.cmi
|
||||
lib/ocaml/lwt/lwt_stream.mli
|
||||
lib/ocaml/lwt/lwt_switch.cmi
|
||||
lib/ocaml/lwt/lwt_switch.mli
|
||||
lib/ocaml/lwt/lwt_sys.cmi
|
||||
lib/ocaml/lwt/lwt_sys.mli
|
||||
lib/ocaml/lwt/lwt_throttle.cmi
|
||||
lib/ocaml/lwt/lwt_throttle.mli
|
||||
lib/ocaml/lwt/lwt_timeout.cmi
|
||||
lib/ocaml/lwt/lwt_timeout.mli
|
||||
lib/ocaml/lwt/lwt_unix.cmi
|
||||
lib/ocaml/lwt/lwt_unix.h
|
||||
lib/ocaml/lwt/lwt_unix.mli
|
||||
lib/ocaml/lwt/lwt_util.cmi
|
||||
lib/ocaml/lwt/lwt_util.mli
|
||||
lib/ocaml/lwt/pa_lwt.cmi
|
||||
lib/ocaml/lwt/pa_lwt.mli
|
||||
lib/ocaml/lwt/pa_lwt_log.cmi
|
||||
lib/ocaml/lwt/pa_lwt_log.mli
|
||||
@comment lib/ocaml/stublibs/dlllwt-glib_stubs.so.owner
|
||||
@comment lib/ocaml/stublibs/dlllwt-unix_stubs.so.owner
|
||||
share/doc/ocaml-lwt/
|
||||
share/doc/ocaml-lwt/CHANGES
|
||||
share/doc/ocaml-lwt/COPYING
|
||||
share/doc/ocaml-lwt/README
|
||||
share/doc/ocaml-lwt/api/
|
||||
share/doc/ocaml-lwt/api/Lwt.html
|
||||
share/doc/ocaml-lwt/api/Lwt_bytes.html
|
||||
share/doc/ocaml-lwt/api/Lwt_chan.html
|
||||
share/doc/ocaml-lwt/api/Lwt_condition.html
|
||||
share/doc/ocaml-lwt/api/Lwt_daemon.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.abstract-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.libev-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.poll_based-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.select-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.select_based-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_engine.t-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_event.html
|
||||
share/doc/ocaml-lwt/api/Lwt_gc.html
|
||||
share/doc/ocaml-lwt/api/Lwt_glib.html
|
||||
share/doc/ocaml-lwt/api/Lwt_io.BE.html
|
||||
share/doc/ocaml-lwt/api/Lwt_io.LE.html
|
||||
share/doc/ocaml-lwt/api/Lwt_io.NumberIO.html
|
||||
share/doc/ocaml-lwt/api/Lwt_io.html
|
||||
share/doc/ocaml-lwt/api/Lwt_lib.html
|
||||
share/doc/ocaml-lwt/api/Lwt_list.html
|
||||
share/doc/ocaml-lwt/api/Lwt_log.Section.html
|
||||
share/doc/ocaml-lwt/api/Lwt_log.html
|
||||
share/doc/ocaml-lwt/api/Lwt_main.html
|
||||
share/doc/ocaml-lwt/api/Lwt_mutex.html
|
||||
share/doc/ocaml-lwt/api/Lwt_mvar.html
|
||||
share/doc/ocaml-lwt/api/Lwt_pool.html
|
||||
share/doc/ocaml-lwt/api/Lwt_pqueue.Make.html
|
||||
share/doc/ocaml-lwt/api/Lwt_pqueue.OrderedType.html
|
||||
share/doc/ocaml-lwt/api/Lwt_pqueue.S.html
|
||||
share/doc/ocaml-lwt/api/Lwt_pqueue.html
|
||||
share/doc/ocaml-lwt/api/Lwt_preemptive.html
|
||||
share/doc/ocaml-lwt/api/Lwt_process.html
|
||||
share/doc/ocaml-lwt/api/Lwt_process.process-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_process.process_full-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_process.process_in-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_process.process_none-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_process.process_out-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_react.E.html
|
||||
share/doc/ocaml-lwt/api/Lwt_react.S.html
|
||||
share/doc/ocaml-lwt/api/Lwt_react.html
|
||||
share/doc/ocaml-lwt/api/Lwt_read_line.Command.html
|
||||
share/doc/ocaml-lwt/api/Lwt_read_line.Control.html
|
||||
share/doc/ocaml-lwt/api/Lwt_read_line.Engine.html
|
||||
share/doc/ocaml-lwt/api/Lwt_read_line.Terminal.html
|
||||
share/doc/ocaml-lwt/api/Lwt_read_line.clipboard-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_read_line.html
|
||||
share/doc/ocaml-lwt/api/Lwt_sequence.html
|
||||
share/doc/ocaml-lwt/api/Lwt_signal.html
|
||||
share/doc/ocaml-lwt/api/Lwt_ssl.html
|
||||
share/doc/ocaml-lwt/api/Lwt_stream.bounded_push-c.html
|
||||
share/doc/ocaml-lwt/api/Lwt_stream.html
|
||||
share/doc/ocaml-lwt/api/Lwt_switch.html
|
||||
share/doc/ocaml-lwt/api/Lwt_sys.html
|
||||
share/doc/ocaml-lwt/api/Lwt_term.Draw.html
|
||||
share/doc/ocaml-lwt/api/Lwt_term.Zone.html
|
||||
share/doc/ocaml-lwt/api/Lwt_term.html
|
||||
share/doc/ocaml-lwt/api/Lwt_text.html
|
||||
share/doc/ocaml-lwt/api/Lwt_throttle.Make.html
|
||||
share/doc/ocaml-lwt/api/Lwt_throttle.S.html
|
||||
share/doc/ocaml-lwt/api/Lwt_throttle.html
|
||||
share/doc/ocaml-lwt/api/Lwt_timeout.html
|
||||
share/doc/ocaml-lwt/api/Lwt_top.html
|
||||
share/doc/ocaml-lwt/api/Lwt_unix.LargeFile.html
|
||||
share/doc/ocaml-lwt/api/Lwt_unix.html
|
||||
share/doc/ocaml-lwt/api/Lwt_util.html
|
||||
share/doc/ocaml-lwt/api/Pa_lwt.html
|
||||
share/doc/ocaml-lwt/api/Pa_lwt_log.html
|
||||
share/doc/ocaml-lwt/api/index.html
|
||||
share/doc/ocaml-lwt/api/index_attributes.html
|
||||
share/doc/ocaml-lwt/api/index_class_types.html
|
||||
share/doc/ocaml-lwt/api/index_classes.html
|
||||
share/doc/ocaml-lwt/api/index_exceptions.html
|
||||
share/doc/ocaml-lwt/api/index_methods.html
|
||||
share/doc/ocaml-lwt/api/index_module_types.html
|
||||
share/doc/ocaml-lwt/api/index_modules.html
|
||||
share/doc/ocaml-lwt/api/index_types.html
|
||||
share/doc/ocaml-lwt/api/index_values.html
|
||||
share/doc/ocaml-lwt/api/style.css
|
||||
share/doc/ocaml-lwt/api/type_Lwt.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_bytes.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_chan.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_condition.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_daemon.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.abstract.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.libev.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.poll_based.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.select.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.select_based.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_engine.t.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_event.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_gc.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_glib.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_io.BE.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_io.LE.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_io.NumberIO.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_io.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_lib.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_list.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_log.Section.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_log.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_main.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_mutex.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_mvar.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_pool.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_pqueue.Make.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_pqueue.OrderedType.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_pqueue.S.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_pqueue.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_preemptive.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_process.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_process.process.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_process.process_full.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_process.process_in.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_process.process_none.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_process.process_out.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_react.E.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_react.S.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_react.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_read_line.Command.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_read_line.Control.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_read_line.Engine.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_read_line.Terminal.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_read_line.clipboard.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_read_line.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_sequence.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_signal.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_ssl.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_stream.bounded_push.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_stream.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_switch.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_sys.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_term.Draw.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_term.Zone.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_term.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_text.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_throttle.Make.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_throttle.S.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_throttle.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_timeout.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_top.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_unix.LargeFile.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_unix.html
|
||||
share/doc/ocaml-lwt/api/type_Lwt_util.html
|
||||
share/doc/ocaml-lwt/api/type_Pa_lwt.html
|
||||
share/doc/ocaml-lwt/api/type_Pa_lwt_log.html
|
||||
share/doc/ocaml-lwt/manual.pdf
|
Loading…
x
Reference in New Issue
Block a user