diff --git a/assemblers/org.osbuild.qemu b/assemblers/org.osbuild.qemu index 9c572648..52ebca17 100755 --- a/assemblers/org.osbuild.qemu +++ b/assemblers/org.osbuild.qemu @@ -111,8 +111,10 @@ def main(tree, output_dir, options, loop_client): if __name__ == '__main__': args = json.load(sys.stdin) - sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM) - sock.setsockopt(socket.SOL_SOCKET, socket.SO_PASSCRED, 1) - sock.connect("/run/osbuild/api/remoteloop") - ret = main(args["tree"], args["output_dir"], args["options"], remoteloop.LoopClient(sock)) + + with socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM) as sock: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_PASSCRED, 1) + sock.connect("/run/osbuild/api/remoteloop") + ret = main(args["tree"], args["output_dir"], args["options"], remoteloop.LoopClient(sock)) + sys.exit(ret) diff --git a/osbuild/remoteloop.py b/osbuild/remoteloop.py index 4a5f160e..8ea65cb5 100644 --- a/osbuild/remoteloop.py +++ b/osbuild/remoteloop.py @@ -112,9 +112,6 @@ class LoopClient: def __init__(self, sock): self.sock = sock - def __del__(self): - self.sock.close() - def create_device(self, fd, dir_fd=None, offset=None, sizelimit=None): req = {} fds = array.array("i")