mesg_recv.c

来自「unix网络编程的源码」· C语言 代码 · 共 32 行

C
32
字号
/* include mesg_recv */
#include	"mesg.h"

ssize_t
mesg_recv(int id, struct mymesg *mptr)
{
	ssize_t	n;

	n = msgrcv(id, &(mptr->mesg_type), MAXMESGDATA, mptr->mesg_type, 0);
	mptr->mesg_len = n;		/* return #bytes of data */

	return(n);				/* -1 on error, 0 at EOF, else >0 */
}
/* end mesg_recv */

/* include Mesg_recv */
ssize_t
Mesg_recv(int id, struct mymesg *mptr)
{
	ssize_t	n;

	do {
		n = mesg_recv(id, mptr);
	} while (n == -1 && errno == EINTR);

	if (n == -1)
		err_sys("mesg_recv error");

	return(n);
}
/* end Mesg_recv */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?