Skip to content

Commit 1d17164

Browse files
committed
gh-89977: Revert epoll GIL changes
1 parent e198115 commit 1d17164

3 files changed

Lines changed: 4 additions & 13 deletions

File tree

‎Lib/test/test_epoll.py‎

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -238,16 +238,6 @@ def test_unregister_closed(self):
238238
ep.unregister(fd)
239239
self.assertEqual(cm.exception.errno, errno.EBADF)
240240

241-
def test_unregister_twice(self):
242-
with select.epoll() as ep:
243-
ep.register(self.serverSocket)
244-
ep.unregister(self.serverSocket)
245-
with self.assertRaises(OSError) as cm:
246-
ep.unregister(self.serverSocket)
247-
self.assertEqual(cm.exception.errno, errno.ENOENT)
248-
ep.register(self.serverSocket)
249-
ep.unregister(self.serverSocket)
250-
251241
def test_close(self):
252242
open_file = open(__file__, "rb")
253243
self.addCleanup(open_file.close)
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
Avoid releasing the GIL for :meth:`socket.socket.setblocking`,
2-
:meth:`socket.socket.getsockname`, :meth:`socket.socket.getpeername`,
3-
:func:`socket.gethostname`, and :meth:`select.epoll.unregister`.
2+
:meth:`socket.socket.getsockname`, :meth:`socket.socket.getpeername`, and
3+
:func:`socket.gethostname`.

‎Modules/selectmodule.c‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1521,8 +1521,9 @@ pyepoll_internal_ctl(int epfd, int op, int fd, unsigned int events)
15211521
/* In kernel versions before 2.6.9, the EPOLL_CTL_DEL
15221522
* operation required a non-NULL pointer in event, even
15231523
* though this argument is ignored. */
1524-
/* Removing a watch is normally quick, so keep the GIL. */
1524+
Py_BEGIN_ALLOW_THREADS
15251525
result = epoll_ctl(epfd, op, fd, &ev);
1526+
Py_END_ALLOW_THREADS
15261527
break;
15271528
default:
15281529
result = -1;

0 commit comments

Comments
 (0)