Cool ! I can see you do lot's of update on select->poll conversions. The code become more and more complex since you want it works more general.
Can we use simply WSAPoll[1] instead ? -- #ifdef _WIN32 #define poll WSAPoll #endif -- [1] http://msdn.microsoft.com/en-us/library/windows/desktop/ms741669%28v=vs.85%29.aspx On Mon, Dec 1, 2014 at 11:58 AM, Brent Cook <bust...@gmail.com> wrote: > I got a Windows 8.1 box running this weekend and spent some quality > time making poll(2) emulation more robust, so that it can deal with > more of the select->poll conversions in openssl(1) coming in the > future. I also got the upstream poll conversion patches themselves in > better working order. This Windows port is now achieved without any > #ifdefs or odd workarounds. So, it should be possible to maintain > support without having too many new warts in the LibreSSL tree. > > So, what can it do now? Well, you can run this command in a powershell window: > > .\apps\openssl.exe s_server -cert tests\server.pem > > and this in another: > > .\apps\openssl.exe s_client > > and type on the console back and forth interactively. You can also run > this from powershell and still get the expected result: > > cat .\README | apps\openssl.exe s_client -connect 127.0.0.1:4433 > > No big deal for those fancy 'everything works like a file' operating > systems, but Windows very special in its handling of sockets vs. > console IO vs pipes. Performance-wise, it's currently about 50x slower > than Cygwin's native openssl.exe, but I have not begun to optimize > anything yet. > > https://github.com/busterb/portable/commits/win32-minimal > > https://github.com/busterb/openbsd/commits/win32-minimal > > - Brent