-
Couldn't load subscription status.
- Fork 45
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