I agree with Martin in comment 1: turning SIGHUP into KeyboardInterrupt sounds good to me. I don't see any reason for bzr to treat "controlling terminal has gone" differently to "user hit Ctrl-C".
(A quick experiment suggests this scenario will indeed trigger SIGHUP.)
bzr might still fail to unlock in some circumstances (e.g. if the transport is already busy with another request?), but I can't see SIGHUP-raises-KeyboardInterrupt doing worse than the status quo, and it will surely do better in at least some cases, such as interrupting a commit to a local branch.
I agree with Martin in comment 1: turning SIGHUP into KeyboardInterrupt sounds good to me. I don't see any reason for bzr to treat "controlling terminal has gone" differently to "user hit Ctrl-C".
(A quick experiment suggests this scenario will indeed trigger SIGHUP.)
bzr might still fail to unlock in some circumstances (e.g. if the transport is already busy with another request?), but I can't see SIGHUP- raises- KeyboardInterru pt doing worse than the status quo, and it will surely do better in at least some cases, such as interrupting a commit to a local branch.