| Предыдущий | Следующий |
| KERN_SUCCESS | kOSReturnError |
MACH_MSG_SUCCESS
Что означает MACH_MSG_SUCCESS
MACH_MSG_SUCCESS — нулевой mach_msg_return_t. Он означает, что запрошенная операция mach_msg send/receive завершилась на уровне Mach IPC.
Что проверить после успеха
- Для receive проверьте
msgh_id, фактический размер сообщения, признак complex message и число descriptors до разбора payload. - Учитывайте disposition переданных port rights и владение out-of-line memory. Успешный IPC transport не отменяет обязанности корректно освободить полученные ресурсы.
- Отделяйте transport status от прикладного ответа. Сервер может успешно получить request, но вернуть protocol/MIG error уже внутри reply.
Практическая обработка
Не трактуйте MACH_MSG_SUCCESS как гарантию успеха удалённой операции. Он подтверждает только соответствующую send/receive часть mach_msg; затем валидируйте структуру и семантический return code ответа конкретного протокола.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
