X-Git-Url: https://git.distorted.org.uk/~mdw/with-authinfo-kludge/blobdiff_plain/68464b27da62c94b61822c1bd57aef4f6b9e3821..e6a99993368725e4d48983433d4980f0899f9acc:/with-authinfo-kludge diff --git a/with-authinfo-kludge b/with-authinfo-kludge index d1bb048..28a2c0d 100755 --- a/with-authinfo-kludge +++ b/with-authinfo-kludge @@ -831,13 +831,19 @@ sub run_client (@) { my (@args) = @_; inform "starting client"; + pipe my $r, my $w or sysfail "failed to create pipe: $!"; defined (my $kid = myfork) or sysfail "failed to fork: $!"; if (!$kid) { hack_noip_env \%CLIENT_NOIP, "$SESSDIR/noip-client"; setpgid $$, $$ or sysfail "failed to set kid process group: $!"; + close $w; close $r; my $prog = $args[0]; exec @args or sysfail "failed to exec `$prog': $!"; } + close $w; + defined sysread $r, my $buf, 1 + or sysfail "failed to read pipe: $!"; + close $r; $CLIENTKID = $kid; write_to_file "$SESSDIR/client.pid", "$kid\n"; maybe_foreground_client;