Skip to content

Commit

Permalink
use close-notify for unidirectional shutdown
Browse files Browse the repository at this point in the history
ocaml-ssl's shutdown does a bi-directional shutdown.
  • Loading branch information
Christopher Zimmermann committed Jun 21, 2020
1 parent 6ebe3cc commit c9613a5
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion lwt-unix/conduit_lwt_unix_ssl_real.ml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ let () = Ssl.init ()

let chans_of_fd sock =
let is_open = ref true in
let shutdown () = if !is_open then Lwt_ssl.ssl_shutdown sock else Lwt.return_unit in
let shutdown () =
if !is_open
then Lwt_ssl.close_notify sock >|= ignore
else Lwt.return_unit
in
let close () = is_open := false; Lwt_ssl.close sock in
let oc = Lwt_io.make ~mode:Lwt_io.output ~close:shutdown (Lwt_ssl.write_bytes sock) in
let ic = Lwt_io.make ~mode:Lwt_io.input ~close (Lwt_ssl.read_bytes sock) in
Expand Down

0 comments on commit c9613a5

Please sign in to comment.