MSGF_REPLY
msg->ms_flags |= MSGF_DONE | MSGF_REPLY;
if ((msg->ms_flags & (MSGF_REPLY|MSGF_QUEUED)) == MSGF_QUEUED) {
KKASSERT((msg->ms_flags & (MSGF_DONE | MSGF_REPLY)) == 0);
msg->ms_flags |= MSGF_DONE | MSGF_REPLY;
msg->ms_flags |= MSGF_DONE | MSGF_REPLY;
msg->ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
msg->ms_flags |= MSGF_DONE | MSGF_REPLY;
KKASSERT((msg->ms_flags & (MSGF_QUEUED|MSGF_DONE|MSGF_REPLY)) == 0);
if ((msg->ms_flags & (MSGF_DONE|MSGF_REPLY)) == 0)
atomic_set_int(&msg->ms_flags, MSGF_REPLY | MSGF_DONE);
msg->ms_flags |= MSGF_REPLY | MSGF_DONE;
msg->ms_flags |= MSGF_DONE | MSGF_REPLY;
atomic_set_int(&msg->ms_flags, MSGF_REPLY);
atomic_set_int(&msg->ms_flags, MSGF_REPLY);
if ((msg->ms_flags & (MSGF_REPLY|MSGF_QUEUED)) == MSGF_QUEUED) {
KKASSERT((msg->ms_flags & (MSGF_DONE | MSGF_REPLY)) == 0);
KKASSERT((msg->ms_flags & (MSGF_DONE | MSGF_REPLY)) == 0);
msg->ms_flags &= ~(MSGF_REPLY | MSGF_SYNC | MSGF_DONE);
msg.base.lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
msg.base.lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
msg.base.lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
msg.base.lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
msg.base.lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
if ((lmsg->ms_flags & (MSGF_DONE | MSGF_REPLY)) == 0) {
if ((nmsg->base.lmsg.ms_flags & (MSGF_DONE | MSGF_REPLY)) == 0) {
msg.base.lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);
nmsg->lmsg.ms_flags &= ~(MSGF_REPLY | MSGF_DONE);