[OpenSmalltalk/opensmalltalk-vm] 754980: Rearrange forgetXDisplay to disable aio before fd ...

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

[OpenSmalltalk/opensmalltalk-vm] 754980: Rearrange forgetXDisplay to disable aio before fd ...

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 75498075b2bd030794f54c5303d00626fe33b195
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/75498075b2bd030794f54c5303d00626fe33b195
  Author: David T. Lewis <[hidden email]>
  Date:   2021-02-07 (Sun, 07 Feb 2021)

  Changed paths:
    M platforms/unix/vm-display-X11/sqUnixX11.c

  Log Message:
  -----------
  Rearrange forgetXDisplay to disable aio before fd close.
Required for epoll event handling, we should not close the descriptor
before unregistering it.


  Commit: b6616b21d263ecaa334d458bf3a9579fcb88c635
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6616b21d263ecaa334d458bf3a9579fcb88c635
  Author: David T. Lewis <[hidden email]>
  Date:   2021-02-07 (Sun, 07 Feb 2021)

  Changed paths:
    M platforms/unix/vm/aio.c

  Log Message:
  -----------
  Handle epoll event delivery errors without VM segfault.
Under certain error conditions epoll may deliver event notification to the
wrong process, with empty event data provided by the kernel. If this happens,
handle the condition with a message to stderr and proceed without segfault.
Error messages will look like this:

  aioPoll in process 9055 no readHandler in epollEventData undefined handler called (fd 0, flags 2)


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/a50d3f8dd67d...b6616b21d263