Advertisement
Guest User

Untitled

a guest
Feb 27th, 2015
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.52 KB | None | 0 0
  1.   let do_command ?(timeout=1.0) ?(no_err=false) ?(retval=true) cmd =
  2.     let cmd_task =
  3.       lwt () = info_f ">>> %S" cmd in
  4.       lwt () = serial#write ~delay ("@"^cmd^"\r\n") in
  5.       if retval then
  6.         lwt u = splitter () in
  7.         return (`OK u)
  8.       else
  9.         return (`OK "")
  10.     in
  11.     let timeout_task =
  12.       lwt () = Lwt_unix.sleep timeout in
  13.       return `Timeout
  14.     in
  15.     lwt result = cmd_task <?> timeout_task in
  16.     cancel timeout_task;
  17.     cancel cmd_task;
  18.     return result
  19.   in
  20. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement