--- gvpe/src/iom.C 2005/04/26 00:55:56 1.32 +++ gvpe/src/iom.C 2006/01/11 21:27:05 1.33 @@ -137,6 +137,11 @@ #endif } + ~init () + { + iom_valid = false; + } + static void required (); } init; @@ -216,6 +221,8 @@ void io_manager::reg (sig_watcher &w) { + init::required (); + assert (0 < w.signum); sw.reserve (w.signum); @@ -250,7 +257,7 @@ void io_manager::unreg (sig_watcher &w) { - if (!w.active) + if (!w.active || !iom_valid) return; assert (0 < w.signum && w.signum <= sw.size ());