Lines Matching refs:mqdp

162 mq_is_valid(mqdes_t *mqdp)  in mq_is_valid()  argument
170 if (mqdp != NULL && mqdp != MQ_RESERVED && in mq_is_valid()
171 ((uintptr_t)mqdp & 0x7) == 0) { in mq_is_valid()
172 return (mqdp->mqd_magic == MQ_MAGIC); in mq_is_valid()
359 owner_dead(mqdes_t *mqdp, int error) in owner_dead() argument
361 mqhdr_t *mqhp = mqdp->mqd_mq; in owner_dead()
363 mqdp->mqd_ownerdead = 1; in owner_dead()
389 mqdes_t *mqdp = NULL; in mq_open() local
483 if ((mqdp = (mqdes_t *)malloc(sizeof (mqdes_t))) == NULL) { in mq_open()
523 mqdp->mqd_flags = (oflag - FOPEN) & (FREAD|FWRITE); in mq_open()
532 mqdp->mqd_mq = mqhp; in mq_open()
533 mqdp->mqd_mqdn = mqdnp; in mq_open()
534 mqdp->mqd_magic = MQ_MAGIC; in mq_open()
535 mqdp->mqd_tcd = NULL; in mq_open()
536 mqdp->mqd_ownerdead = 0; in mq_open()
539 mqdp->mqd_next = mq_list; in mq_open()
540 mqdp->mqd_prev = NULL; in mq_open()
542 mq_list->mqd_prev = mqdp; in mq_open()
543 mq_list = mqdp; in mq_open()
545 return ((mqd_t)mqdp); in mq_open()
557 free(mqdp); in mq_open()
569 mq_close_cleanup(mqdes_t *mqdp) in mq_close_cleanup() argument
571 mqhdr_t *mqhp = mqdp->mqd_mq; in mq_close_cleanup()
572 struct mq_dn *mqdnp = mqdp->mqd_mqdn; in mq_close_cleanup()
575 mqdp->mqd_magic = 0; in mq_close_cleanup()
576 if (!mqdp->mqd_ownerdead) in mq_close_cleanup()
580 if (mqdp->mqd_next) in mq_close_cleanup()
581 mqdp->mqd_next->mqd_prev = mqdp->mqd_prev; in mq_close_cleanup()
582 if (mqdp->mqd_prev) in mq_close_cleanup()
583 mqdp->mqd_prev->mqd_next = mqdp->mqd_next; in mq_close_cleanup()
584 if (mq_list == mqdp) in mq_close_cleanup()
585 mq_list = mqdp->mqd_next; in mq_close_cleanup()
588 free(mqdp); in mq_close_cleanup()
596 mqdes_t *mqdp = (mqdes_t *)mqdes; in mq_close() local
601 if (!mq_is_valid(mqdp)) { in mq_close()
606 mqhp = mqdp->mqd_mq; in mq_close()
608 mqdp->mqd_ownerdead = 1; in mq_close()
614 if (mqhp->mq_des == (uintptr_t)mqdp && in mq_close()
622 pthread_cleanup_push(mq_close_cleanup, mqdp); in mq_close()
623 if ((tcdp = mqdp->mqd_tcd) != NULL) { in mq_close()
624 mqdp->mqd_tcd = NULL; in mq_close()
662 mqdes_t *mqdp = (mqdes_t *)mqdes; in __mq_timedsend() local
674 if (!mq_is_valid(mqdp) || (mqdp->mqd_flags & FWRITE) == 0) { in __mq_timedsend()
679 mqhp = mqdp->mqd_mq; in __mq_timedsend()
690 if (mqdp->mqd_mqdn->mqdn_flags & O_NONBLOCK) in __mq_timedsend()
716 owner_dead(mqdp, err); in __mq_timedsend()
798 mqdes_t *mqdp = (mqdes_t *)mqdes; in __mq_timedreceive() local
810 if (!mq_is_valid(mqdp) || (mqdp->mqd_flags & FREAD) == 0) { in __mq_timedreceive()
815 mqhp = mqdp->mqd_mq; in __mq_timedreceive()
831 if ((mqdp->mqd_mqdn->mqdn_flags & O_NONBLOCK) != 0) { in __mq_timedreceive()
864 owner_dead(mqdp, err); in __mq_timedreceive()
933 mqdes_t *mqdp = (mqdes_t *)mqdes; in mq_notify() local
946 if (!mq_is_valid(mqdp)) { in mq_notify()
951 mqhp = mqdp->mqd_mq; in mq_notify()
954 mqdp->mqd_ownerdead = 1; in mq_notify()
962 if (mqhp->mq_des == (uintptr_t)mqdp && in mq_notify()
966 if ((tcdp = mqdp->mqd_tcd) != NULL) { in mq_notify()
970 tcdp = mqdp->mqd_tcd; in mq_notify()
971 mqdp->mqd_tcd = NULL; in mq_notify()
1015 if ((tcdp = mqdp->mqd_tcd) != NULL && in mq_notify()
1017 mqdp->mqd_tcd = NULL; in mq_notify()
1020 if ((tcdp = mqdp->mqd_tcd) == NULL) { in mq_notify()
1034 mqdp->mqd_tcd = tcdp; in mq_notify()
1048 mqhp->mq_des = (uintptr_t)mqdp; in mq_notify()
1053 tcdp->tcd_msg_object = mqdp; in mq_notify()
1077 mqdes_t *mqdp = (mqdes_t *)mqdes; in mq_setattr() local
1081 if (!mq_is_valid(mqdp)) { in mq_setattr()
1090 mqhp = mqdp->mqd_mq; in mq_setattr()
1091 omqstat->mq_flags = mqdp->mqd_mqdn->mqdn_flags; in mq_setattr()
1101 mqdp->mqd_mqdn->mqdn_flags = flag; in mq_setattr()
1109 mqdes_t *mqdp = (mqdes_t *)mqdes; in mq_getattr() local
1113 if (!mq_is_valid(mqdp)) { in mq_getattr()
1118 mqhp = mqdp->mqd_mq; in mq_getattr()
1120 mqstat->mq_flags = mqdp->mqd_mqdn->mqdn_flags; in mq_getattr()
1135 mqdes_t *mqdp; in postfork1_child_sigev_mq() local
1137 for (mqdp = mq_list; mqdp; mqdp = mqdp->mqd_next) { in postfork1_child_sigev_mq()
1138 if ((tcdp = mqdp->mqd_tcd) != NULL) { in postfork1_child_sigev_mq()
1139 mqdp->mqd_tcd = NULL; in postfork1_child_sigev_mq()