The really_read and really_write functions in iO.ml (currently in
vhd_format_lwt/) were changed to drop their use of lwt_try in d2c6405c.
Instead, the code now uses Lwt.catch directly.
The camlp4 extension for lwt_try automatically adds a default exception
handler of | exn -> Lwt.fail exn to the with clause. However, this was not
added in the above commit. For exceptions that aren't explicitly matched by the
handler that is passed to Lwt.catch, this leads to Match_failure exceptions
being raised rather than the actual exception being passed up with Lwt.fail.
The
really_read
andreally_write
functions in iO.ml (currently invhd_format_lwt/
) were changed to drop their use oflwt_try
in d2c6405c. Instead, the code now usesLwt.catch
directly.The camlp4 extension for
lwt_try
automatically adds a default exception handler of| exn -> Lwt.fail exn
to thewith
clause. However, this was not added in the above commit. For exceptions that aren't explicitly matched by the handler that is passed toLwt.catch
, this leads toMatch_failure
exceptions being raised rather than the actual exception being passed up withLwt.fail
.Signed-off-by: Rob Hoes rob.hoes@citrix.com