[OpenSmalltalk/opensmalltalk-vm] 7deac0: Unix(macOS) SocketPlugin:

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] 7deac0: Unix(macOS) SocketPlugin:

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 7deac028aeeb769c8782242fc23bebdfaaa58e3d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7deac028aeeb769c8782242fc23bebdfaaa58e3d
  Author: Eliot Miranda <[hidden email]>
  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.