fix backtrace printed when cannot get lock.
change lock error handling code so exceptions have useful info and
exception handling in one place.
add test case for when cannot get lock.
#!/bin/sh
hg clone http://localhost:20059/ copy
echo $?
ls copy 2>/dev/null || echo copy: No such file or directory
cat > dumb.py <<EOF
import BaseHTTPServer, SimpleHTTPServer, signal
def run(server_class=BaseHTTPServer.HTTPServer,
handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
server_address = ('localhost', 20059)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
run()
EOF
python dumb.py 2>/dev/null &
http_proxy= hg clone http://localhost:20059/foo copy2
echo $?
kill $!