Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!hsi!stevens From: stevens@hsi.UUCP (Richard Stevens) Newsgroups: comp.unix.questions Subject: Re: Insufficient Resource Error on msgsnd Call Summary: message queue problems - SVr2 Keywords: msgsnd, msgrcv, Ingres, UNIX, System V, message queues, Sun, SunOS4.0 Message-ID: <466@hsi86.hsi.UUCP> Date: 25 May 89 09:25:49 GMT References: <1023@dinl.mmc.UUCP> <20284@winchester.mips.COM> Organization: Health Systems Intl., New Haven, CT Lines: 22 In article <20284@winchester.mips.COM>, jay@mips.COM (Jay McCauley) writes: > > We also felt, but could never prove, that there were flaws in the > standard System V implementation of the message facilities. Every so often > we would see mysterious confusion in the ipcs reports that would only > clear by rebooting. This occured on several different vendor's systems, > so we suspected that there was some sort of subtle synchronization > glitch in the kernel msgop support. > There is indeed a problem with the SVr2 implementation of message queues. As I understand it, the problem occurs when data is copied between the user space and the kernel *and* a page fault occurs. Supposedly it was fixed in SVr2.1 or SVr3.0, but I don't have the source for either of these to check. I heard they added a set of locks for each queue so that common data structures aren't walked over if there is a page fault during an iomove(). Richard Stevens Health Systems International, New Haven, CT stevens@hsi.com ... { uunet | yale } ! hsi ! stevens