I found a good solution to this problem in Richard Steven's _Network_Programming_. It seems like everything shows up in Steven's books! Rather than pausing, you do a blocking read on a pipe. You only write to the pipe from within the signal handler. However, this brings up the better question: why was 'pause' ever implemented? No matter what you do, the signal that you expect to wake you up may occur immediately prior to the pause, and you'll miss it. Starting that question in a new thread.
-- http://mail.python.org/mailman/listinfo/python-list