Skip to content

Commit f4f57f6

Browse files
authored
Update process.pyx
1 parent ddeb5e1 commit f4f57f6

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

uvloop/handles/process.pyx

+7-5
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,10 @@ cdef class UVProcess(UVHandle):
6969
'Racing with another loop to spawn a process.')
7070

7171
self._errpipe_read, self._errpipe_write = os_pipe()
72-
self._fds_to_close.append(self._errpipe_read)
73-
self._fds_to_close.append(self._errpipe_write)
72+
fds_to_close = self._fds_to_close
73+
self._fds_to_close = None
74+
fds_to_close.append(self._errpipe_read)
75+
fds_to_close.append(self._errpipe_write)
7476
try:
7577
os_set_inheritable(self._errpipe_write, True)
7678

@@ -103,7 +105,7 @@ cdef class UVProcess(UVHandle):
103105
self._finish_init()
104106

105107
# close the write pipe early
106-
os_close(self._fds_to_close.pop())
108+
os_close(fds_to_close.pop())
107109

108110
if preexec_fn is not None:
109111
errpipe_data = bytearray()
@@ -117,8 +119,8 @@ cdef class UVProcess(UVHandle):
117119
break
118120

119121
finally:
120-
while self._fds_to_close:
121-
os_close(self._fds_to_close.pop())
122+
while fds_to_close:
123+
os_close(fds_to_close.pop())
122124

123125
for fd in restore_inheritable:
124126
os_set_inheritable(fd, False)

0 commit comments

Comments
 (0)