read signal handler