Date: Wed, 13 May 1998 14:54:41 -0400 (EDT) From: CyberPeasant <djv@bedford.net> To: jaspal@best.com (Jaspal Kohli) Cc: freebsd-questions@FreeBSD.ORG Subject: Re: leaking shm segments Message-ID: <199805131854.OAA05851@castor.loco.net> In-Reply-To: <3559CC2E.2BAEE281@best.com> from Jaspal Kohli at "May 13, 98 09:37:03 am"
next in thread | previous in thread | raw e-mail | index | archive | help
Jaspal Kohli wrote: > If a process creates a shared memory segment using shmget() and exits > without > deleting it via shmctl(), the segment does not get deleted. Since this > is a limited > resource in the kernel, the system will run out of shm segments. Well, you can run out of inodes, too. > It was not clear to me from the man pages whether this is the expected > behavior > or whether this is a kernel bug (i.e. shm segments should be deleted > when the > creating process exits). > This is normal behavior. These segments are more like files than anything else -- global resources that may be accessed by any process on the system, subject to permissions. [An extension to the semantics on some OS's allows access from different machines over a network]. Unlike files, they only live from boot to boot. shmctl can be used to make them have the delete-when-unreferenced property, if that's what your app. needs, using IPC_RMID. Similar remarks apply to SysV semaphores and message queues. Dave -- <----. mail-to: djv@bedford.net <----|=================================== <----' Zber Qnrzbaf, Srjre Qrivyf! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199805131854.OAA05851>