Tony Nelson <[EMAIL PROTECTED]> wrote: > > I'm trying to write a test for my Socket Timeouts patch [1], which fixes > signal handling (notably Ctl-C == SIGINT == KeyboarInterrupt) on socket > operations using a timeout. I don't see a portable way to send a signal, > and asking the test runner to press Ctl-C is a non-starter. A "real" > signal is needed to interrupt the select() (or equivalent) call, because > that's what wasn't being handled correctly. The bug should happen on the > other platforms I don't know how to test on. > > Is there a portable way to send a signal? SIGINT would be best, but > another signal (such as SIGALRM) would do, I think.
According to my (limited) research on signals, Windows signal support is horrible. I have not been able to have Python send signals of any kind other than SIGABRT, and then only to the currently running process, which kills it (regardless of whether you have a signal handler or not). > If not, should I write the test to only work on systems implementing > SIGALRM, the signal I'm using now, or implementing kill(), or what? I think that most non-Windows platforms should have non-braindead signal support, though the signal module seems to be severely lacking in sending any signal except for SIGALRM, and the os module has its fingers on SIGABRT. If someone is looking for a project for 2.6 that digs into all sorts of platform-specific nastiness, they could add actual signal sending to the signal module (at least for unix systems). - Josiah _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com