[SVN] r8570

Allan Odgaard throw-away-2 at macromates.com
Fri Nov 30 03:21:01 UTC 2007


• use SIGUSR1 instead of SIGINT as the custom signal to call the cancel procedure

The problem with SIGINT is that if the call_with_progress block executes any shell code (i.e. via %x{…}) then the trap handler installed for SIGINT is not called immediately. First when the block has completed (making it too late for “cancel”), will the trap handler be called.

Likely this is some oddity with ruby signal handling (read: a bug) and affecting only SIGINT because there might be some special code for that when fork/execve’ing to run shell code.

Changed:
U   trunk/Support/lib/progress.rb



More information about the textmate-dev mailing list