bug fix in signal exception handling