Originally seen as one of the causes of NB#240753 Shared memory uses tmpdir which causes a crash if the filesystem tmpdir resides in fills up. Switching the shared memory implementation from tmpdir to SHM provides a stability and performance improvement.
Created attachment 118370 [details] Patch
Comment on attachment 118370 [details] Patch Looks good
Created attachment 118377 [details] Patch
Comment on attachment 118377 [details] Patch Rejecting attachment 118377 [details] from commit-queue. sandfeld@kde.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py. - If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags. - If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your committer rights.
Comment on attachment 118377 [details] Patch Clearing flags on attachment: 118377 Committed r102493: <http://trac.webkit.org/changeset/102493>
All reviewed patches have been landed. Closing bug.
(In reply to comment #5) > (From update of attachment 118377 [details]) > Clearing flags on attachment: 118377 > > Committed r102493: <http://trac.webkit.org/changeset/102493> For me this works only if I add "LIBS += -lrt" to linux-g++* section of api.pri on Ubuntu 11.10 with qt5 11bdb40bfda68291b9767b7908a2ab7dc3b75786 (from last bot update).
Comment on attachment 118377 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=118377&action=review > Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp:125 > +#if PLATFORM(QT) > + while ((fileDescriptor = shm_open(tempNameC, O_CREAT | O_CLOEXEC | O_RDWR, S_IRUSR | S_IWUSR)) == -1) { > + if (errno != EINTR) > + return 0; > + } > +#else > while ((fileDescriptor = mkstemp(tempNameC)) == -1) { > if (errno != EINTR) > return 0; It's kind of silly that Qt uses shm_open and the others use mkstemp - there is nothing Qt specific here. We should simply be using shm_open/shm_unlink for SharedMemoryUnix.cpp.
I agree. I only made it QT specific because I didn't have the setup to compile and test for GTK. It should be very easy for a GTK developer to remove the IFDEFs and join the code.
(In reply to comment #9) > I agree. I only made it QT specific because I didn't have the setup to compile and test for GTK. It should be very easy for a GTK developer to remove the IFDEFs and join the code. I have filed bug #74602 for this. Will upload a patch soon.