use atomic types in signal handling