code assumes sigset_t field is called val