-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix flush #104
Fix flush #104
Conversation
By the way, the tread_safe parameter to Ssl.init should be enough ? Why to keep a separate Ssl_thread module with nothing in it ? I will do another PR. |
And thanks for your review. |
Probably for backwards compatibility. It's a breaking change to remove it, and will likely break some OPAM code. An analysis of the opam repository should probably be done first. |
We can keep Ssl_thread.init, mark it as deprecated and make Ssl.init ~thread_safe true position the reference |
I fixed the problem of compilation on 5.0 without using Thread.Exit. So now it compiles with both old OCaml and 5.0. test shoud work. |
My previous comment was unclear: ocaml-ssl did not compile on 5.0 because of Thread.exit () deprecated and warn as error. My first fix was bad (broke even 4.13!), I just added a "+w 3" in dune for tests/util.ml to keep the warning and not make it an error. |
The build on macos failed to download alcotest for a strange reason. Probably a temporary failure. |
Co-authored-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
CHANGES: - Raise an error when `Ssl.flush` isn't successful (savonet/ocaml-ssl#104, savonet/ocaml-ssl#120) - Add an API-compatible `Ssl.Runtime_lock` module. The functions in this module don't release the OCaml runtime lock. While they don't allow other OCaml threads to run concurrently, they don't perform any copying in the underlying data, leading certain workloads to be faster than their counterparts that release the lock. (savonet/ocaml-ssl#106) - Guarantee `Ssl.output_string` writes the whole string by retrying the operation with unwritten bytes (savonet/ocaml-ssl#103, savonet/ocaml-ssl#116) - Fix calls in C stubs that need to call `ERR_clear_error` before the underlying OpenSSL call (savonet/ocaml-ssl#118) - Add a module `Ssl.Error` to retrieve OpenSSL errors in a structured way (savonet/ocaml-ssl#119) - Deprecate Ssl.{SSLv23,SSLv3,TLSv1,TLSv1_1}, which were were formally deprecated in March 2021 and earlier (savonet/ocaml-ssl#115).
CHANGES: - Raise an error when `Ssl.flush` isn't successful (savonet/ocaml-ssl#104, savonet/ocaml-ssl#120) - Add an API-compatible `Ssl.Runtime_lock` module. The functions in this module don't release the OCaml runtime lock. While they don't allow other OCaml threads to run concurrently, they don't perform any copying in the underlying data, leading certain workloads to be faster than their counterparts that release the lock. (savonet/ocaml-ssl#106) - Guarantee `Ssl.output_string` writes the whole string by retrying the operation with unwritten bytes (savonet/ocaml-ssl#103, savonet/ocaml-ssl#116) - Fix calls in C stubs that need to call `ERR_clear_error` before the underlying OpenSSL call (savonet/ocaml-ssl#118) - Add a module `Ssl.Error` to retrieve OpenSSL errors in a structured way (savonet/ocaml-ssl#119) - Deprecate Ssl.{SSLv23,SSLv3,TLSv1,TLSv1_1}, which were were formally deprecated in March 2021 and earlier (savonet/ocaml-ssl#115).
No description provided.