mmottl / postgresql-ocaml

OCaml-bindings for the PostgreSQL database
Other
141 stars 23 forks source link

use Unix.file_descr for sockect #50

Closed craff closed 3 weeks ago

craff commented 1 year ago

The socket method is unusable with type int, for instance with select in async mode.

This solves the problem. I think there is no way in Stdlib to convert int to Unix.file_descr so I used the same code as OCaml uses for stdin and alike.

I did not do it in the C.stub because of the comparison with -1 and to keep the [@untagged] flag.

Should be tested on windows because there file_descr are not int. But if there is a problem, it should be there with or without this patch, PQsocket does return int on both platforms. So the conversion should actually make it better on windows.

mmottl commented 3 weeks ago

Sorry, this PR is obsolete due to OCaml runtime changes. In case you want to resubmit a PR, please make sure the changes would work on both Unix and Windows.