msgsnd的一个小问题
来源:互联网 发布:linux 目录授权 编辑:程序博客网 时间:2024/05/20 13:36
今天写了一个System V消息队列的小例子,定义了一个如下的结构体:
#define MSG_SIZE 8192struct request{ long mtype; int client_id; char pathname[MSG_SIZE];};
接着我调用msgsnd想把这个结构体发送给server,但是发现报错了:
msgsnd error, Invalid argument
仔细检查了传入msgsnd的每一个参数,确认都没有问题啊,那这个Invalid argument是哪一个参数呢?
没办法只能再仔细看一遍msgsnd的man手册吧,看到msgsnd的错误码EINVAL的时候貌似发现问题在那里了:
EINVAL Invalid msqid value, or nonpositive mtype value, or invalid msgsz value (less than 0 or greater than the system value MSGMAX).
问题应该是我发送的msgsz超过了系统的最大值MSGMAX,查看一下系统的MSGMAX:
lxg@lxg-X240:~/station/TLPI/chapter_45$ cat /proc/sys/kernel/msgmax
8192
系统的MSGMAX为8192,而我发送的msgsz为8196,超过了系统的最大值,所以就报错了。
0 0
- msgsnd的一个小问题
- msgsnd与msgrcv函数出现invalid参数的问题
- msgsnd()
- 一个不起眼的小问题
- 一个数据库的小问题
- T264 的一个小问题
- 一个小问题的解决
- include 的一个小问题
- NHibernate的一个小问题
- 一个javascript的小问题
- 一个有趣的小问题
- C的一个小问题
- 一个小问题的解决
- libevent的一个小问题
- 遇到的一个小问题
- 一个MYSQL的小问题
- 指针的一个小问题
- 递归的一个小问题
- Kinect SDK 与 OpenNI的区别
- tableview cell中包含cell或者不同的部分
- DfrgFat.exe应用程序错误 0X77C1741C指令不能“Read”
- 工厂模式
- self = [super init]
- msgsnd的一个小问题
- POJ 2826 An Easy Problem!(简单数论)
- 用 GetEnvironmentVariable 获取常用系统环境变量
- winform 的数据驱动
- 用友T6客户端 点击系统管理admin.exe,一直无响应
- LeetCode Same Tree OJ 算法 刷题
- Java中length(),length,size()的用法和区别
- 黑马程序员----正则表达式
- 窗体