From owner-svn-ports-head@FreeBSD.ORG Wed Jan 23 11:34:10 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2D74C999; Wed, 23 Jan 2013 11:34:10 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 14C60AD7; Wed, 23 Jan 2013 11:34:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0NBY9ja074908; Wed, 23 Jan 2013 11:34:09 GMT (envelope-from rene@svn.freebsd.org) Received: (from rene@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0NBY95x074907; Wed, 23 Jan 2013 11:34:09 GMT (envelope-from rene@svn.freebsd.org) Message-Id: <201301231134.r0NBY95x074907@svn.freebsd.org> From: Rene Ladan Date: Wed, 23 Jan 2013 11:34:09 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r310861 - head/www/chromium/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2013 11:34:10 -0000 Author: rene Date: Wed Jan 23 11:34:09 2013 New Revision: 310861 URL: http://svnweb.freebsd.org/changeset/ports/310861 Log: Remove shared memory keys only if no segments are attached. This fixes a bug when kern.ipc.shm_allow_removed was set to 0. Submitted by: George Liaskos Modified: head/www/chromium/files/patch-ui__surface__transport_dib_linux.cc (contents, props changed) Modified: head/www/chromium/files/patch-ui__surface__transport_dib_linux.cc ============================================================================== --- head/www/chromium/files/patch-ui__surface__transport_dib_linux.cc Wed Jan 23 09:46:39 2013 (r310860) +++ head/www/chromium/files/patch-ui__surface__transport_dib_linux.cc Wed Jan 23 11:34:09 2013 (r310861) @@ -1,18 +1,21 @@ ---- ui/surface/transport_dib_linux.cc.orig 2011-09-14 11:02:00.000000000 +0300 -+++ ui/surface/transport_dib_linux.cc 2011-09-21 13:59:55.000000000 +0300 -@@ -31,6 +31,11 @@ - address_ = kInvalidAddress; +--- ui/surface/transport_dib_linux.cc.orig 2013-01-08 04:46:06.000000000 +0200 ++++ ui/surface/transport_dib_linux.cc 2013-01-17 23:27:10.221168481 +0200 +@@ -37,6 +37,14 @@ + DCHECK(display_); + ui::DetachSharedMemory(display_, x_shm_); } - ++ +#if defined(OS_FREEBSD) -+ if(is_valid_id(key_)) -+ shmctl(key_.shmkey, IPC_RMID, 0); ++ if (is_valid_id(key_)) { ++ struct shmid_ds shmst; ++ if (shmctl(key_.shmkey, IPC_STAT, &shmst) == 0 && shmst.shm_nattch == 0) ++ shmctl(key_.shmkey, IPC_RMID, 0); ++ } +#endif -+ - if (x_shm_) { - DCHECK(display_); - ui::DetachSharedMemory(display_, x_shm_); -@@ -50,10 +55,13 @@ + } + + // static +@@ -51,10 +59,13 @@ } void* address = shmat(shmkey, NULL /* desired address */, 0 /* flags */);