Merge pull request #1932 from liubin/fix/1931-virtiofsd-fd-leak-and-return-right-pid

virtiofsd: Fix file descriptors leak and return correct PID
This commit is contained in:
Fabiano Fidêncio 2021-05-28 12:29:56 +02:00 committed by GitHub
commit bcf78a18ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -75,6 +75,8 @@ func (v *virtiofsd) getSocketFD() (*os.File, error) {
if err != nil {
return nil, err
}
// no longer needed since fd is a dup
defer listener.Close()
listener.SetUnlinkOnClose(false)
@ -98,6 +100,7 @@ func (v *virtiofsd) Start(ctx context.Context) (int, error) {
if err != nil {
return 0, err
}
defer socketFD.Close()
cmd.ExtraFiles = append(cmd.ExtraFiles, socketFD)
@ -128,7 +131,7 @@ func (v *virtiofsd) Start(ctx context.Context) (int, error) {
v.wait = waitVirtiofsReady
}
return pid, socketFD.Close()
return cmd.Process.Pid, nil
}
func (v *virtiofsd) Stop(ctx context.Context) error {