diff --git a/syscall/ipc_syscall.c b/syscall/ipc_syscall.c index f0b3cfbdd0858d221d5005e6b113069d08776f22..628a966c9b5b6d75889c842030f5357d6f8e5862 100644 --- a/syscall/ipc_syscall.c +++ b/syscall/ipc_syscall.c @@ -78,12 +78,14 @@ mqd_t SysMqOpen(const char *mqName, int openFlag, mode_t mode, struct mq_attr *a int SysMqClose(mqd_t personal) { int ret; + int ufd = (INTPTR)personal; MQUEUE_FD_U2K(personal); ret = mq_close(personal); if (ret < 0) { return -get_errno(); } + FreeProcessFd(ufd); return ret; }