rem: atomic_set(&thread->sig_block_mask, *set);
add: atomic_set(&thread->sig_block_mask, *set & BLOCKABLE_SIGNALS);
context: sigprocmask(int how, const sigset_t *set, sigset_t *oldSet){	struct thread *thread = thread_get_current_thread();	sigset_t oldMask = thread->sig_block_mask;	// ToDo: "sig_block_mask" is probably not the right thing to change?	//	At least it's often changed at other places...	switch (how) {		case SIG_BLOCK:			atomic_or(&thread->sig_block_mask, *set);			break;		case SIG_UNBLOCK:			atomic_and(&thread->sig_block_mask, ~*set);			break;		case SIG_SETMASK:			atomic_set(&thread->sig_block_mask, *set);			break;		default:			return B_BAD_VALUE;	}	if (oldSet != NULL)		*oldSet = oldMask;	return B_OK;}