X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=unixsocketwatcher.ml;h=f55e9deb0f73d3b3399572e010c45095a9d1251a;hb=c310c5ec5fdcb94236334a8b977a77eb94d4bc7a;hp=517d7e0e6eed60513fc9555ec11a6b9e288c5d2a;hpb=a9b075f4f7ff0f7507fd7b9f1f8a3fad46f2db99;p=vsys.git diff --git a/unixsocketwatcher.ml b/unixsocketwatcher.ml index 517d7e0..f55e9de 100644 --- a/unixsocketwatcher.ml +++ b/unixsocketwatcher.ml @@ -44,6 +44,10 @@ let receive_event (listening_socket_spec:fname_and_fd) (_:fname_and_fd) = (* Close all fds except for the socket *) let fd = Obj.magic data_socket in let _ = + (* Close fds *) + for i = 3 to 1023 do + if (i != fd) then close_if_open(Obj.magic i) + done; execv execpath [|execpath;slice_name;sprintf "%d" fd|] (*with Unix_error(num,str1,str2)->logprint "Error %d: %s (%s)" (Obj.magic num) str1 str2;raise (Unix_error(num,str1,str2))*) in