PS_STOPPING
if (pr->ps_single != NULL || ISSET(pr->ps_flags, PS_STOPPING))
if (pr->ps_single != NULL || ISSET(pr->ps_flags, PS_STOPPING)) {
PS_WAITED | PS_STOPPED | PS_STOPPING | PS_TRAPPED);
atomic_setbits_int(&pr->ps_flags, PS_STOPPING);
atomic_setbits_int(&pr->ps_flags, PS_STOPPING);
atomic_setbits_int(&pr->ps_flags, PS_STOPPING | PS_TRAPPED);
PS_STOPPING | PS_WAITED | PS_CONTINUED);
!ISSET(pr->ps_flags, PS_STOPPING))
} while (pr->ps_single != NULL || ISSET(pr->ps_flags, PS_STOPPING));
atomic_setbits_int(&pr->ps_flags, PS_STOPPING);