Insufficient Resource Error on msgsnd Call

Charles Noren noren at dinl.uucp
Fri May 26 07:18:56 AEST 1989


The problem is solved and corrected.  Thanks to all who have contributed so
many good answers that opened up my understanding of message queues more.
Particular thanks goes to Doug Looms and  Fred DePalm for pointing out the
correct Sun reference manual that tells how to resize the options, and to
Keith Gregory who gave a brief tutorial on the important "#define" sizing
constants for message queues.  The quality of all the responses was great,
which included some tips on improving my data flow and general information
based on experience on what and what not to do on message queues.

A summary of what I found out is:

First an important Sun manual:  SYSTEM V ENHANCEMNETS OVERVIEW
(Sun part No. 800-1541-03).  For Sun 3 systems, the configuration
file needs to be modified (in directory /sys/sun3/conf) to include
the following lines:

   options   MSGPOOL=xxx    ...where xxx is the size in k bytes
                            of the system V message queue memory
                            pool.  It must be < 255.

   options   MSGMNI=xxx     ...where xxx is the number of possible message
                            queues allowed by the system.

   options   MSGTQL=xxx     ...where xxx is the limit of the number of
                            message packets in the system.

   options   MSGMNB=xxx     ...where xxx is the limit of the number of bytes
                            that can be queued at a message queue.

There are some other parameters described in the SYSTEM V ENHANCEMENTS
OVERVIEW that pertain to the sizing of the message itself.
Since we have the luxury of delivering a stand-alone system, we
configured the message queues based on the mimimum size of messages
so that the contraining factor will be MSGMNB (the maximum number of
bytes queued at message queue).  Since all the processes are actors,
any process that blocks at a queue (the queue being full -- forced by
the definition of the parameters) will have another process at the
other side of the queue that is processing the messages, thus freeing
up space in the queue.

Thanks again for all the help.  I was also particularly pleased with
how quickly Sun (Fred DePalm) responded and pursued the problem until it
was resolved.
Thanks again!! 

-- 
Chuck Noren
NET:     ncar!dinl!noren
US-MAIL: Martin Marietta I&CS, MS XL8058, P.O. Box 1260,
         Denver, CO 80201-1260
Phone:   (303) 971-7930



More information about the Comp.unix.questions mailing list