[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <9a158e2e1003211928y37d3bbfnac068f200128ddb6@mail.gmail.com>
Date: Sun, 21 Mar 2010 19:28:32 -0700
From: Kyle Hubert <khubert@...il.com>
To: linux-kernel@...r.kernel.org
Subject: SysV IPC message queues
Hi, I recently found myself using SysV IPC message queues in a Linux
specific application. However, I have one concern, I'm using
IPC_PRIVATE for the key to instantiate the message queue (then doing
pthread_creates with the open file descriptor accessed from children
threads).
Anyways, upon reception of signals, the message queue lingers around
taking up memory. I wouldn't mind this if I was using a key_t which I
could use to reopen the message queue at a later instantiation.
However, IPC_PRIVATE just grabs an available queue, and I don't have
access to the key, so I can't exactly open and remove it later. It's
my opinion that IPC_PRIVATE should cause the message queue to get
destroyed when all the open file descriptors are closed, not solely
when msgctl is used to remove it. Also, I don't want to capture
signals, since that's a slippery slope and SIGKILL will still leak
message queues. I also don't think ipcs/ipcrm are long term solutions,
since I'm handing the library off as an abstraction.
Would it be worth it to generate a patch to the Linux kernel to add
this functionality? Or, is there an undocumented ioctl I can call to
set that feature on?
IE: IPC_PRIVATE message queues should be freed when ref count drops to zero.
Thank you very much for your time,
-Kyle Hubert
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists