CGI程序访问共享内存错误
时间:2007-04-18 来源:白石
CGI程序访问共享内存错误
CGI程序访问其它进程创建的共享内存,可以访问,但是得到的值不正确。
1、修改共享内存的创建
shmid = shmget(key,size,IPC_CREAT|0604); //Get shared memory segment
|
改为
shmid = shmget(key,size,IPC_CREAT|IPC_EXCL|0777);
|
2、还是不行。
3、后来很偶然的,在连接共享内存后,做了2秒的延时,共享内存读取正确。
4、又重新改回共享内存的创建函数,CGI访问共享内存正常
结论:BOA的用户权限必须为ROOT,组为0,这样CGI才能连接上共享内存;而连接上共享内存以后还必须有一点延时,才能正确访问到共享内存。原因暂时没搞明白
相关阅读 更多 +
排行榜 更多 +