<div dir="ltr">This is strange. According to the bugtracker it should be in 4.8.5 already... and the recipe seems to be about 4.8.5. It needs more investigation.</div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Sat, Aug 24, 2013 at 8:13 PM, Saul Wold <span dir="ltr">&lt;<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 08/24/2013 09:49 AM, Eric Nelson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This patch adds a patch for Qt-Embedded to only<br>
destroy semaphores in the process which created<br>
them.<br>
<br>
Original patch by Neil Jerram for the OpenMoko project:<br>
        <a href="http://lists.openmoko.org/pipermail/community/2012-November/067806.html" target="_blank">http://lists.openmoko.org/<u></u>pipermail/community/2012-<u></u>November/067806.html</a><br>
<br>
See also Bug 31254:<br>
<a href="https://bugreports.qt-project.org/browse/QTBUG-31254" target="_blank">https://bugreports.qt-project.<u></u>org/browse/QTBUG-31254</a><br>
<br>
Signed-off-by: Eric Nelson &lt;<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@boundarydevices.<u></u>com</a>&gt;<br>
</blockquote></div>
Besides this, we need an Upstream-Status: Tag, this is either a Backport or Submitted maybe?<br>
<br>
Sau!<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
---<br>
  meta/recipes-qt/qt4/qt4-4.8.5.<u></u>inc                  |  1 +<br>
  ...-Only-destroy-semaphores-<u></u>in-process-owner.patch | 77 ++++++++++++++++++++++<br>
  2 files changed, 78 insertions(+)<br>
  create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/<u></u>0028-QWSLock-Only-destroy-<u></u>semaphores-in-process-owner.<u></u>patch<br>
<br>
diff --git a/meta/recipes-qt/qt4/qt4-4.8.<u></u>5.inc b/meta/recipes-qt/qt4/qt4-4.8.<u></u>5.inc<br>
index 95a14f3..be16bff 100644<br>
--- a/meta/recipes-qt/qt4/qt4-4.8.<u></u>5.inc<br>
+++ b/meta/recipes-qt/qt4/qt4-4.8.<u></u>5.inc<br>
@@ -24,6 +24,7 @@ SRC_URI = &quot;<a href="http://download.qt-project.org/official_releases/qt/4.8/$%7BPV%7D/qt-ever" target="_blank">http://download.qt-project.<u></u>org/official_releases/qt/4.8/$<u></u>{PV}/qt-ever</a><br>

             file://0022-Fix-drawing-of-0-<u></u>width-polylines-from-outside-<u></u>the-de.patch \<br>
             file://0023-QHttpMultiPart-<u></u>fix-data-corruption-in-<u></u>readData-metho.patch \<br>
             file://0027-tools.pro-disable-<u></u>qmeegographicssystemhelper.<u></u>patch \<br>
+           file://0028-QWSLock-Only-<u></u>destroy-semaphores-in-process-<u></u>owner.patch \<br>
             file://g++.conf \<br>
             file://linux.conf \<br>
             &quot;<br>
diff --git a/meta/recipes-qt/qt4/qt4-4.8.<u></u>5/0028-QWSLock-Only-destroy-<u></u>semaphores-in-process-owner.<u></u>patch b/meta/recipes-qt/qt4/qt4-4.8.<u></u>5/0028-QWSLock-Only-destroy-<u></u>semaphores-in-process-owner.<u></u>patch<br>

new file mode 100644<br>
index 0000000..d67a746<br>
--- /dev/null<br>
+++ b/meta/recipes-qt/qt4/qt4-4.8.<u></u>5/0028-QWSLock-Only-destroy-<u></u>semaphores-in-process-owner.<u></u>patch<br>
@@ -0,0 +1,77 @@<br>
+From 9af565935d16ecf8a8c04b5ea850dd<u></u>b34a7c1294 Mon Sep 17 00:00:00 2001<br>
+From: Eric Nelson &lt;<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@boundarydevices.<u></u>com</a>&gt;<br>
+Date: Mon, 12 Aug 2013 11:54:05 -0700<br>
+Subject: [PATCH] QWSLock: Only destroy semaphores in process owner<br>
+<br>
+This fixes the case when QT_POSIX_IPC is not defined.<br>
+<br>
+Original patch by Neil Jerram for the OpenMoko project:<br>
+       <a href="http://lists.openmoko.org/pipermail/community/2012-November/067806.html" target="_blank">http://lists.openmoko.org/<u></u>pipermail/community/2012-<u></u>November/067806.html</a><br>
+<br>
+See also Bug 31254:<br>
+       <a href="https://bugreports.qt-project.org/browse/QTBUG-31254" target="_blank">https://bugreports.qt-project.<u></u>org/browse/QTBUG-31254</a><br>
+<br>
+Signed-off-by: Eric Nelson &lt;<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@boundarydevices.<u></u>com</a>&gt;<br>
+---<br>
+ src/gui/embedded/qwslock.cpp | 13 +++++++++----<br>
+ src/gui/embedded/qwslock_p.h |  2 +-<br>
+ 2 files changed, 10 insertions(+), 5 deletions(-)<br>
+<br>
+diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp<br>
+index 3f8f306..cd6a48d 100644<br>
+--- a/src/gui/embedded/qwslock.cpp<br>
++++ b/src/gui/embedded/qwslock.cpp<br>
+@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id)<br>
+     QWSSignalHandler::instance()-&gt;<u></u>addWSLock(this);<br>
+ #endif<br>
+<br>
++    owned = false;<br>
++<br>
+ #ifndef QT_POSIX_IPC<br>
+     if (semId == -1) {<br>
+         semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666);<br>
++        owned = true;<br>
+         if (semId == -1) {<br>
+             perror(&quot;QWSLock::QWSLock&quot;);<br>
+             qFatal(&quot;Unable to create semaphore&quot;);<br>
+@@ -100,7 +103,6 @@ QWSLock::QWSLock(int id) : semId(id)<br>
+     }<br>
+ #else<br>
+     sems[0] = sems[1] = sems[2] = SEM_FAILED;<br>
+-    owned = false;<br>
+<br>
+     if (semId == -1) {<br>
+         // ### generate really unique IDs<br>
+@@ -134,9 +136,12 @@ QWSLock::~QWSLock()<br>
+<br>
+     if (semId != -1) {<br>
+ #ifndef QT_POSIX_IPC<br>
+-        qt_semun semval;<br>
+-        semval.val = 0;<br>
+-        semctl(semId, 0, IPC_RMID, semval);<br>
++<br>
++        if (owned) {<br>
++            qt_semun semval;<br>
++            semval.val = 0;<br>
++            semctl(semId, 0, IPC_RMID, semval);<br>
++        }<br>
+         semId = -1;<br>
+ #else<br>
+         // emulate the SEM_UNDO behavior for the BackingStore lock<br>
+diff --git a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h<br>
+index ead7b89..d16b3d5 100644<br>
+--- a/src/gui/embedded/qwslock_p.h<br>
++++ b/src/gui/embedded/qwslock_p.h<br>
+@@ -86,8 +86,8 @@ private:<br>
+     int lockCount[2];<br>
+ #ifdef QT_POSIX_IPC<br>
+     sem_t *sems[3];<br>
+-    bool owned;<br>
+ #endif<br>
++    bool owned;<br>
+ };<br>
+<br>
+ QT_END_NAMESPACE<br>
+--<br>
+1.8.1.2<br>
+<br>
<br>
</blockquote></div></div><div class="HOEnZb"><div class="h5">
______________________________<u></u>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.<u></u>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" target="_blank">http://lists.openembedded.org/<u></u>mailman/listinfo/openembedded-<u></u>core</a><br>
</div></div></blockquote></div><br></div>