You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Unix.execv* family of functions are declared as follow in unix.mli
val execv : string -> string array -> unit
val execve : string -> string array -> string array -> unit
val execvp : string -> string array -> unit
val execvpe : string -> string array -> string array -> unit
These functions never return - they either raise a Unix exception or succeed in
the execve(2) syscall (which change the running program, so don't return). So
they should be typed as
val execv : string -> string array -> 'a
val execve : string -> string array -> string array -> 'a
val execvp : string -> string array -> 'a
val execvpe : string -> string array -> string array -> 'a
Also, the exit function (which also does not return) is correctly typed (in
pervasives.mli) as
val exit : int -> 'a
(having access to the CVS, I offer to make the small patch if it is accepted)
The text was updated successfully, but these errors were encountered:
These functions never return - they either raise a Unix exception or succeed in
the execve(2) syscall (which change the running program, so don't return). So
they should be typed as
val execv : string -> string array -> 'a
val execve : string -> string array -> string array -> 'a
val execvp : string -> string array -> 'a
val execvpe : string -> string array -> string array -> 'a
Also, the exit function (which also does not return) is correctly typed (in
pervasives.mli) as
val exit : int -> 'a
(having access to the CVS, I offer to make the small patch if it is accepted)
Original bug ID: 2273
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: feature
Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: Basile STARYNKEVITCH
Version: 3.07 & latest CVS
OS: Linux
Submission from: www-rocqbis.inria.fr (192.93.2.12)
The Unix.execv* family of functions are declared as follow in unix.mli
val execv : string -> string array -> unit
val execve : string -> string array -> string array -> unit
val execvp : string -> string array -> unit
val execvpe : string -> string array -> string array -> unit
These functions never return - they either raise a Unix exception or succeed in
the execve(2) syscall (which change the running program, so don't return). So
they should be typed as
val execv : string -> string array -> 'a
val execve : string -> string array -> string array -> 'a
val execvp : string -> string array -> 'a
val execvpe : string -> string array -> string array -> 'a
Also, the exit function (which also does not return) is correctly typed (in
pervasives.mli) as
val exit : int -> 'a
(having access to the CVS, I offer to make the small patch if it is accepted)
The text was updated successfully, but these errors were encountered: