X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=fishdescriptor%2Ffishdescriptor;h=8955b462aae647e42dca30e1d65ece76069260fe;hb=5e8630d807e1c76615db22258d06752367fd79ea;hp=8abdfffc1f39f5a02823bd9284627d8fad5d6f06;hpb=cda1006ec229c3731fe48f412f6986588100c0c2;p=chiark-utils.git diff --git a/fishdescriptor/fishdescriptor b/fishdescriptor/fishdescriptor index 8abdfff..8955b46 100755 --- a/fishdescriptor/fishdescriptor +++ b/fishdescriptor/fishdescriptor @@ -62,7 +62,7 @@ def implement_pending(): for (nominal, there), actual in zip(pending, actuals): overwriting_info = fdmap.get(nominal) if overwriting_info is not None: os.close(overwriting_info[0]) - fdmap[nominal] = (actual, donor, there) + fdmap[nominal] = [actual, donor, there] def implement_sockinfo(nominal): (actual, tdonor, there) = fdmap[nominal] @@ -126,9 +126,10 @@ def permute_fds_for_exec(): if inway_intended is not None: inway_moved = os.dup(intended) actual2intended[inway_moved] = inway_intended - fdmap[inway_intented][0] = inway_moved + fdmap[inway_intended][0] = inway_moved os.dup2(actual, intended) os.close(actual) + del actual2intended[actual] def implement_exec(argl): if donor is not None: donor.detach()