worker now handle signals synchronously