[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

svn does not react to Ctrl-C when a background process has an unredirected stdout

From: Vincent Lefevre <vincent-svn_at_vinc17.net>
Date: Mon, 5 Sep 2016 15:28:00 +0200

I've finally found a way to reproduce the following old bug:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502222

(it still occurs with svn 1.9.4).

Make SVN_SSH point to the following script:

----------------------------------------
#!/bin/sh

sleep 10 &

while true; do :; done
----------------------------------------

Do a "svn up" and Ctrl-C. Then svn terminates only when "sleep"
terminates. If I redirect the output of "sleep" to /dev/null,
like that:

----------------------------------------
#!/bin/sh

sleep 10 > /dev/null &

while true; do :; done
----------------------------------------

then the problem disappears, i.e. Ctrl-C immediately terminates svn.

Note: The reason this problem occurs in my case is that my script
does "ssh -fMN ..." (which corresponds to the "sleep ... &" here)
when the control socket doesn't exist. The infinite loop corresponds
to the real ssh that would freeze due to a network problem.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Received on 2016-09-05 15:28:11 CEST

This is an archived mail posted to the Subversion Dev mailing list.