Default kern.ipc.shm_allow_removed to 1

From: George Liaskos <geo.liaskos_at_gmail.com>
Date: Fri, 30 Aug 2013 16:30:09 +0300
Would it be feasible to change the default for 10?

There is a lot of code that depends on the following behavior:

void* address = shmat(shmkey, NULL /* desired address */, 0 /* flags */);
// Here we mark the shared memory for deletion. Since we attached it in the
// line above, it doesn't actually get deleted but, if we crash, this means
// that the kernel will automatically clean it up for us.
shmctl(shmkey, IPC_RMID, 0);
if (address == kInvalidAddress)
  return NULL;

The above snip is from Google Chrome, under FreeBSD with the current
defaults that memory becomes unusable. If you don't follow that route
it becomes extremely difficult to cleanup especially in a beast like
Chrome.

>From what I understand PC-BSD defaults to 1, OpenBSD and Linux also
allow this behavior.

Am I missing something obvious here? It seems to me that the pragmatic
approach is to change this.


Regards,
George
Received on Fri Aug 30 2013 - 11:30:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC