文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>CGI程序访问共享内存错误

CGI程序访问共享内存错误

时间:2007-04-18  来源:白石

CGI程序访问共享内存错误
CGI程序访问其它进程创建的共享内存,可以访问,但是得到的值不正确。
1、修改共享内存的创建
    shmid = shmget(key,size,IPC_CREAT|0604);    //Get shared memory segment 

if(shmid == -1)
{
perror("shm_create::Getting shared memory ------------------------------------- [FAILED]\n" );
exit(EXIT_FAILURE);
}
改为
    shmid = shmget(key,size,IPC_CREAT|IPC_EXCL|0777);
if(shmid == -1)
{
shmid = shmget(key,size,IPC_CREAT|0777);
if(shmid == -1)
{
perror("shm_create::Getting shared memory ------------------------------------- [FAILED]\n" );
exit(EXIT_FAILURE);
}
}
2、还是不行。
3、后来很偶然的,在连接共享内存后,做了2秒的延时,共享内存读取正确。
4、又重新改回共享内存的创建函数,CGI访问共享内存正常
结论:BOA的用户权限必须为ROOT,组为0,这样CGI才能连接上共享内存;而连接上共享内存以后还必须有一点延时,才能正确访问到共享内存。原因暂时没搞明白
相关阅读 更多 +
排行榜 更多 +
步行僵尸2无限金币版

步行僵尸2无限金币版

体育竞技 下载
狐狸一号特殊任务无限金币版

狐狸一号特殊任务无限金币版

体育竞技 下载
忍者之雷复仇无限金币钻石版

忍者之雷复仇无限金币钻石版

体育竞技 下载