go_ahead_and_upgrade(); if (working as advertised) { cout errno = EIDRM; } else if (do you wanna wait) { pthread_cond_wait(&sp1, &mutex); } else { goto WIN2K_OR_XP; }