diff options
author | Romain Beauxis <toots@rastageeks.org> | 2009-10-14 17:41:24 -0500 |
---|---|---|
committer | Romain Beauxis <toots@rastageeks.org> | 2009-10-14 17:41:24 -0500 |
commit | 7673d282f2c70740c9cba057651d6c3979eaabe0 (patch) | |
tree | 298efc689cae0f690958157ad3899ba764a8fa2e /src | |
parent | 8bc8405f3aeca38627753390b06cd4e66f3d5bac (diff) |
Imported Upstream version 0.3.1
Diffstat (limited to 'src')
-rw-r--r-- | src/duppy.ml | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/duppy.ml b/src/duppy.ml index 1d32b65..1afa1dd 100644 --- a/src/duppy.ml +++ b/src/duppy.ml @@ -391,6 +391,14 @@ struct List.rev l,s | _ -> [],acc in + (* Catch all exceptions.. *) + let f x y = + try + f x y + with + | Unix.Unix_error(x,y,z) -> on_error (Unix(x,y,z)); [] + | e -> on_error (Unknown e); [] + in if l <> [] then begin exec l ; @@ -432,6 +440,14 @@ struct begin if n < length then begin + (* Catch all exceptions.. *) + let f x y = + try + f x y + with + | Unix.Unix_error(x,y,z) -> on_error (Unix(x,y,z)); [] + | e -> on_error (Unknown e); [] + in let s = String.sub s n (n-length) in [{ priority = priority ; events = [`Write socket] ; handler = f s }] |