Browse thread
restart any OCaml program from scratch:
- Christophe Raffalli
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2001-01-12 (09:08) |
From: | Christophe Raffalli <Christophe.Raffalli@u...> |
Subject: | restart any OCaml program from scratch: |
I post the following lines taht may be useful to others: they provide a small command restart : unit -> unit which will restart your program from scratch. To use it just link you program with restart.cmo at first position. I have some questions for Unix and Windows specialist: - using "exit 3" is may be not the cleanest way ? - will this trick or a similar one work under windows ? - what should I do when the process status is WSIGNALED n (at the moment I do exit 1) ----- restart.mli ---------- val restart : unit -> 'a ----- restart.ml ---------- open Unix let restart () = exit 3 let _ = try while true do let pid = fork () in if pid = 0 then raise Exit else match waitpid [] pid with _, WEXITED 3 -> () | _, WEXITED n -> exit n | _, _ -> exit 1 done with Exit -> () -- Christophe Raffalli Université de Savoie Batiment Le Chablais, bureau 21 73376 Le Bourget-du-Lac Cedex tél: (33) 4 79 75 81 03 fax: (33) 4 79 75 87 42 mail: Christophe.Raffalli@univ-savoie.fr www: http://www.lama.univ-savoie.fr/~RAFFALLI