-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Description
If you do something like:
if let Some(client) = unsafe { jobserver::Client::from_env() } {
client.configure(&mut cmd);
}
Where cmd
is an existing Command
.
By the time you execute the command and the pre_cmd
that Client::configure
set up, the Client
instance has already been dropped. And dropping the Client
actually closes the file descriptors (which is documented in Client::from_env
. So by the time the pre-command executes, the file descriptors are either closed, or worse, were opened for something else.
It seems like Client::configure
should have an explicit requirement on the lifetime of the command not exceeding that of the client.
Metadata
Metadata
Assignees
Labels
No labels