in reply to message queueing through Sys V

The call to msgrcv() is failing (that is why it isn't waiting). From your description, you must not be checking for failure and aren't reporting the reason for the failure. Fixing that is the first step.

If you aren't sure how to fix that, then type "perldoc -f msgrecv" and note "Returns ... false if there is an error". Like most calls, $! will contain the reason:

if( ! recvmsg( ... ) ) { print "Can't recvmsg(): $!\n"; exit 0; }
I didn't use die since this is probably a CGI and I don't know if you already have "fatalsToBrowser" turned on.

        - tye (but my friends call me "Tye")