Well, how about instantiating your own session and install the signal handler there? Who says you need to be able to do it within the confines of the slave component? With end developer POE::Components, it is generally assumed that you will be running it as part of a larger framework with other sessions doing other things, such as receiving events, etc. Remember that all of POE (for the most part, save Wheel::Run and PoCo::Child) runs inside a single perl interpreter. It doesn't really matter where you install the signal handler, so do it outside of the slave component.