in reply to SysV IPC key_t handling in Perl

As a matter of fact, on Linux x86 all keys greater than than 0x80000000 are rounded down to that value !

See IPC::Msg - determine if queue is full I'm not an expert on this, but this might help.

It may be that you are running into a kernel configuration problem, where the upper key limit must be set..... just a wild guess. SysV shared memory --pure perl may be useful to look at. Maybe you could switch to shmget instead of msgget.


I'm not really a human, but I play one on earth. Cogito ergo sum a bum

Replies are listed 'Best First'.
Re^2: SysV IPC key_t handling in Perl
by waba (Monk) on May 14, 2008 at 20:52 UTC

    Maybe should I have made this clearer - the issue resides only in the way Perl handles the first argument to msgget.

    If used from C, or even from Perl after patching doio.c to consider the key as an integer and not a double (see the bottom half of my previous post), this system call works just fine.

      i dealt with same problem (perl 5.8). Agree! Did you appeal to perl-developers?