On Saturday 19 November 2011 15:29:19 Boyd Lynn Gerber wrote:
srvq2_(short *theid) { key_t key; int msgid2, msgflg;
key=2; msgflg=IPC_CREAT | 0666;
msgid2 = msgget (key, msgflg);
if (msgid2 < 0) perror("SRVQ2 - server output queue not created");
*theid=msgid2; [...] Any ideas on how to get this to work? It works with one queue but fails with 2 queues.
If you're not seeing the error output, then I can only imagine that you are getting an id that is greater than the size of a short. msgid returns an integer, and converting it to a short could very well cause all sorts of problems. The OS is free to return any kind of identifier there. I'm not sure how to compile that mixture of fortran and C, so I can't check to see if it makes a difference. In general though, it is an error to blindly convert integer to short. Anders -- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-programming+owner@opensuse.org