Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 7deac028aeeb769c8782242fc23bebdfaaa58e3d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7deac028aeeb769c878... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2020-10-08 (Thu, 08 Oct 2020)
Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c
Log Message: ----------- Unix(macOS) SocketPlugin: Fix sendDone/primtiveSocketSendDone/sqSocketSendDone on macOS. The select in socketWritable does not answer true for writable sockets, presumably because the select in aioPoll already has done. So have dataHandler (which is called from aioPoll when the socket *is* writable) set a flag in privateSocketStruct notifiedOfWritability and use this to avoid the wrongly unsuccessful call of select in sqSocketSendDone. Clear notifiedOfWritability before any and all send/ write system calls. Have sqWin32NewNet.c process the select result in its socketWritable in exactly the same way as sqUnixSocket.c's.
I WELCOME ANY REVIEW OF THIS COMMIT!! Levente, Tobias, you might take a close look at this one.
vm-dev@lists.squeakfoundation.org