package luv

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Threads.

See Threads in the user guide and Threading and synchronization utilities in libuv.

type t
val self : unit -> t

Returns the representation of the calling thread.

Binds uv_thread_self. See pthread_self(3p).

val equal : t -> t -> bool

Compares two thread values for equality.

Binds uv_thread_equal. See pthread_equal(3p).

val create : ?stack_size:int -> (unit -> unit) -> (t, Error.t) Result.result

Starts a new thread, which will run the given function.

Binds uv_thread_create. See pthread_create(3p).

?stack_size does nothing on libuv prior to 1.26.0.

Feature check: Luv.Require.(has thread_stack_size)

val create_c : ?stack_size:int -> ?argument:nativeint -> nativeint -> (t, Error.t) Result.result

Like Luv.Thread.create, but runs a C function by pointer.

The C function should have signature (*)(void*). The default value of ?argument is NULL (0).

?stack_size does nothing on libuv prior to 1.26.0.

Feature check: Luv.Require.(has thread_stack_size)

val join : t -> (unit, Error.t) Result.result

Waits for the given thread to terminate.

Binds uv_thread_join. See pthread_join(3p).