今天有一同事问我,如果msgsnd函数的最后一个flag如果直接置0,调用该函数会是什么结果!
我不太清楚是怎样的,还是直接看代码:
msgsnd是一个系统调用,所以它在glibc中只是一个桩函数:
\glibc\glibc-2.4.src\sysvipc\msgsnd.c
int
msgsnd (msqid, msgp, msgsz, msgflg)
int msqid;
const void *msgp;
size_t msgsz;
int msgflg;
{
__set_errno (ENOSYS);
return -1;
}
stub_warning (msgsnd)
而在内核中的实现函数:
~\kernel\linux-2.6.21.1.src\ipc\msg.c