免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: clientwyc
打印 上一主题 下一主题

[SCO UNIX] 请问一个共享内存地址挂接的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-09-22 12:30 |只看该作者

请问一个共享内存地址挂接的问题

分配9M应该不算大吧?

论坛徽章:
0
12 [报告]
发表于 2004-09-22 15:55 |只看该作者

请问一个共享内存地址挂接的问题

觉得特别奇怪:
现在有一个奇怪的问题:我shmet() 中的size=104817600个字节, 给该块内存分配 2个子段 (都是20480字节)都成功,但如果为size=10481760 时,往第二个段里写数据失败,当size=1048176时两个都失败  怎么感觉好像我分配的size 不是按照该大小分配的呢
该块内存里的数据我是这样安排的:
块头(结构1:1028字节)段头(结构2:141字节)段数据(结构3,个数由子段大小决定)段头(结构2)(结构4,个数由子段大,这里是20480字节)

假如用块大小为1048176(测试时是coredump) 那是 20480+20480+1028=41988     1048176-41988=1006188  应该是照理来说可以剩很多空间的,那怎么会coredump呢?
这里20480 是由段头和段数据组成。 我都怀疑shmset中的size是不是真的按照那个大小来分配,我的操作系统没有改动过系统参数配置  ,当书里说该size的最大值为1048576 但我用大于该值时调用shmget没有报错啊
看看能帮忙看一下吗?  我真搞不懂了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP