You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
execve/posix_spawn will block the child process (which is fine) but we also need to communicate information back into the parent process (to figure out if execve worked). That however may block, for example if we spawn an executable on a network'd file system. But in the code today, try self.spawn(...) is run on async threads which is a problem as it might block all asynchronous work from happening potentially indefinitely.
self.spawn should be offloaded onto a thread pool where blocking is okay.
The text was updated successfully, but these errors were encountered:
swift-subprocess/Sources/Subprocess/Configuration.swift
Line 69 in 80bd50f
execve
/posix_spawn
will block the child process (which is fine) but we also need to communicate information back into the parent process (to figure out ifexecve
worked). That however may block, for example if we spawn an executable on a network'd file system. But in the code today,try self.spawn(...)
is run onasync
threads which is a problem as it might block all asynchronous work from happening potentially indefinitely.self.spawn
should be offloaded onto a thread pool where blocking is okay.The text was updated successfully, but these errors were encountered: