19 lines
510 B
OCaml
19 lines
510 B
OCaml
open Printf
|
|
|
|
let message_not_understood context m =
|
|
printf "WARNING: Message not understood in %s: " context;
|
|
Sexp.output_sexp stdout (Message.sexp_of_message m);
|
|
print_newline ()
|
|
|
|
let create_thread name cleanup main initarg =
|
|
let guarded_main initarg =
|
|
try
|
|
main initarg
|
|
with e ->
|
|
printf "WARNING: Thread <<%s>> died with %s\n%!" name (Printexc.to_string e);
|
|
(match cleanup with
|
|
| Some cleaner -> cleaner ()
|
|
| None -> ())
|
|
in
|
|
Thread.create guarded_main initarg
|