今天写了一个System V消息队列的小样例。定义了一个例如以下的结构体:

#define MSG_SIZE 8192

struct 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,超过了系统的最大值。所以就报错了。

最新文章

  1. jQuery Validate 表单验证 — 用户注册简单应用
  2. 数值分析之QR因子分解篇
  3. 为 PHP 开发者准备的 12 个调试工具(转)
  4. <十一>面向对象分析之UML核心元素之组件
  5. ADO.NET 快速入门(十二):从 SQL Server 生成 XML 数据
  6. MDI-多文档窗体
  7. java编解码技术,json序列化与二进制序列化
  8. 用友NC V6.3打造集团企业高效信息平台
  9. jqery选择器
  10. 实现C++模板类头文件和实现文件分离的方法
  11. labview生成可执行文件
  12. cocos2d-x3.6 连连看完整源代码
  13. springboot~ EventListener事件监听的使用
  14. golang ffmpeg 做网络直播
  15. safari图片跨域
  16. mysql建表规范及注意事项
  17. Angular2入门:TypeScript的类型 - 对象解构
  18. Spring Boot 2.0 版的开源项目云收藏来了!
  19. 022 Spark shuffle过程
  20. The Rock Game

热门文章

  1. h5 video切换到横屏全屏
  2. DFA NFA
  3. BZOJ【1606】购买干草
  4. APP漏洞扫描用地址空间随机化【转】
  5. Linux 环境下安装配置 TigerVNC Server 并启用当前会话远程服务(X0VNC)
  6. jenkins 管理员账号丢失
  7. WKWebView遇到的问题汇总
  8. 浅谈.Net异步编程的前世今生----EAP篇
  9. 洛谷1373小a和uim之大逃离
  10. JDBC-oracle(登陆)