From b85c5208434595b137a90be410c1cabf1fbd6b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Hasi=C5=84ski?= Date: Mon, 30 Mar 2026 22:14:26 +0200 Subject: [PATCH] Remove stale self-corruption workaround in recvfrom_nonblock The s = self workaround and XXX comment in recvfrom_nonblock date back to the initial import of mruby-socket. The underlying bug where self became a SystemcallException inside ensure blocks has since been fixed. Verified that self correctly refers to the socket object in ensure blocks after exceptions from recvfrom. --- mrbgems/mruby-socket/mrblib/socket.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mrbgems/mruby-socket/mrblib/socket.rb b/mrbgems/mruby-socket/mrblib/socket.rb index 6bcc2b8fe..f350d6cd5 100644 --- a/mrbgems/mruby-socket/mrblib/socket.rb +++ b/mrbgems/mruby-socket/mrblib/socket.rb @@ -701,13 +701,11 @@ class UDPSocket < IPSocket # data, addr = sock.recvfrom_nonblock(1024) # def recvfrom_nonblock(*args) - s = self begin self._setnonblock(true) self.recvfrom(*args) ensure - # XXX: self is a SystemcallException here! (should be bug) - s._setnonblock(false) + self._setnonblock(false) end end