Add async signal support