The signals (for SIGHUP et al) are installed at the wrong point. They should be installed when you run the server, not when you load the module. When does this come up? When we're testing our subclasses. We have a program that forks a child to run the server. This installs the SIGHUP in the parent too, as the module magically does things at compile time when the 'use' statment is called, not elsewhere. Mark.