I need to access a pubblic shared memory , given it's pathname as using ftok C function.
key_t ftok(const char *pathname, int proj_id);
It seems that in perl ftok is non available so for now I build my own implementation of ftok which I call from perl as show here:
$file_shmem = "/tmp/IPC/shared_memory1"; $size_shmem = 18640; open( F, "./ftok $file_shmem 1 |" ); $s1 = <F>; close F; chomp $s1; $ipckey = "0x$s1"; print "IPC-KEY of ($file_shmem) is $ipckey \n"; $idshm = shmget( $ipckey, $size_shmem, 0666 ) || die "\n Creation o +f shared memory failed $! \n"; print "IPC-SHMEM: id $idshm \n"; shmread( $idshm, $data_shmem, 0, $size_shmem ) || warn "\n\n Error +reading shared-memory: $! \n";
All this will work, but is not polite and it seems strange to me that perl have not an implementatio for ftok.
Can you provide me some suggestion on that topic ?
regards, Enzo
Code tags added by GrandFather
In reply to use ftok to access shared memory by earlati2
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |