传递addrinfo中结构从子到父我想使用共享存储器如下使用共享存储器
pid = fork();
if (pid == 0)
{
.....
iStatus = getaddrinfo(argv[1], NULL, &hints, &servinfoC);
...
shmid = shmget(GETADDR_SHM_KEY, SHMSZ, IPC_CREAT | 0666);
....
shmC = shmat(shmid, (void*)NULL, 0));
memcpy(shmC, servinfoC, sizeof(struct addrinfo));
freeaddrinfo (servinfoC);
}
else
{
struct addrinfo *servinfoP;
while ((pid = waitpid (pid, &status, WUNTRACED | WCONTINUED)) > 0)
shmid = shmget(GETADDR_SHM_KEY, SHMSZ, 0666 | IPC_CREAT);
shmP = shmat(shmid, (void*)NULL, 0));
/*HELP Copy shmP to servinfoP struct*/
}
我试图memcpy的传递的getaddrinfo结构(* RES)的输出转换成父对象(从子)的过程,但它没有由于addrinfo所需的内存分配而有所帮助。
预先感谢您的时间和帮助
问候 马诺
谢谢你的建议,我完全想实现这一点。 – user905538