<div dir="ltr">Well, you should ask upstream about it... maybe it ended up in a decision it is the wrong way, and something better went in, or being planned to go in. I think a change should not be integrated like this in grey area.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Aug 24, 2013 at 8:25 PM, Eric Nelson <span dir="ltr"><<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@boundarydevices.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Laszlo,<div class="im"><br>
<br>
On 08/24/2013 12:15 PM, Laszlo Papp wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is strange. According to the bugtracker it should be in 4.8.5<br>
already... and the recipe seems to be about 4.8.5. It needs more<br>
investigation.<br>
<br>
</blockquote>
<br></div>
I saw this, but there's no evidence that any change was committed<br>
and I verified that the bug is still there (it's trivially easy to<br>
reproduce) and that this patch fixes it.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
On Sat, Aug 24, 2013 at 8:13 PM, Saul Wold <<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a><br></div><div class="im">
<mailto:<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a>>> wrote:<br>
<br>
On 08/24/2013 09:49 AM, Eric Nelson wrote:<br>
<br>
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></div>
<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><div class="im"><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></div>
<a href="https://bugreports.qt-project." target="_blank">https://bugreports.qt-project.</a><u></u>__org/browse/QTBUG-31254<br>
<<a href="https://bugreports.qt-project.org/browse/QTBUG-31254" target="_blank">https://bugreports.qt-<u></u>project.org/browse/QTBUG-31254</a><u></u>><br>
<br>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices._<u></u>_com<br>
<mailto:<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@<u></u>boundarydevices.com</a>>><div class="im"><br>
<br>
Besides this, we need an Upstream-Status: Tag, this is either a<br>
Backport or Submitted maybe?<br>
<br>
</div></blockquote>
<br>
I submitted a patch, but haven't received any feedback from the Qt'ers:<br>
<a href="https://codereview.qt-project.org/#change,62842" target="_blank">https://codereview.qt-project.<u></u>org/#change,62842</a><br>
<br>
Should I re-send with Upstream-Status: tag and a reference?<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Sau!<br>
<br>
<br>
---<br>
meta/recipes-qt/qt4/qt4-4.8.5.<u></u>__inc | 1 +<br>
...-Only-destroy-semaphores-__<u></u>in-process-owner.patch | 77<div class="im"><br>
++++++++++++++++++++++<br>
2 files changed, 78 insertions(+)<br>
create mode 100644<br></div>
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<br>
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<div class="im"><br>
@@ -24,6 +24,7 @@ SRC_URI =<br></div>
"<a href="http://download.qt-project." target="_blank">http://download.qt-project.</a>__<u></u>org/official_releases/qt/4.8/$<u></u>__{PV}/qt-ever<br>
<<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>%7BPV%7D/qt-ever</a>><br>
<br>
file://0022-Fix-drawing-of-0-_<u></u>_width-polylines-from-outside-<u></u>__the-de.patch \<br>
<br>
file://0023-QHttpMultiPart-__<u></u>fix-data-corruption-in-__<u></u>readData-metho.patch \<br>
<br>
file://0027-tools.pro-disable-<u></u>__qmeegographicssystemhelper._<u></u>_patch \<br>
+<br>
file://0028-QWSLock-Only-__<u></u>destroy-semaphores-in-process-<u></u>__owner.patch<div class="im"><br>
\<br>
file://g++.conf \<br>
file://linux.conf \<br>
"<br>
diff --git<br></div>
a/meta/recipes-qt/qt4/qt4-4.8.<u></u>__5/0028-QWSLock-Only-destroy-<u></u>__semaphores-in-process-owner.<u></u>__patch<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<div class="im"><br>
new file mode 100644<br>
index 0000000..d67a746<br>
--- /dev/null<br>
+++<br></div>
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<br>
00:00:00 2001<br>
+From: Eric Nelson <eric.nelson@boundarydevices._<u></u>_com<br>
<mailto:<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@<u></u>boundarydevices.com</a>>><div class="im"><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>
+<br></div>
<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><div class="im"><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></div>
+ <a href="https://bugreports.qt-project." target="_blank">https://bugreports.qt-project.</a><u></u>__org/browse/QTBUG-31254<br>
<<a href="https://bugreports.qt-project.org/browse/QTBUG-31254" target="_blank">https://bugreports.qt-<u></u>project.org/browse/QTBUG-31254</a><u></u>><br>
+<br>
+Signed-off-by: Eric Nelson <eric.nelson@boundarydevices._<u></u>_com<br>
<mailto:<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@<u></u>boundarydevices.com</a>>><div class="im"><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<br>
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></div>
+ QWSSignalHandler::instance()-><u></u>__addWSLock(this);<div><div class="h5"><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("QWSLock::QWSLock");<br>
+ qFatal("Unable to create semaphore");<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<br>
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></div></div>
______________________________<u></u>___________________<br>
Openembedded-core mailing list<br>
Openembedded-core@lists.__<a href="http://openembedded.org" target="_blank">open<u></u>embedded.org</a><br>
<mailto:<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@<u></u>lists.openembedded.org</a>><br>
<a href="http://lists.openembedded.org/__mailman/listinfo/openembedded-__core" target="_blank">http://lists.openembedded.org/<u></u>__mailman/listinfo/<u></u>openembedded-__core</a><br>
<<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" target="_blank">http://lists.openembedded.<u></u>org/mailman/listinfo/<u></u>openembedded-core</a>><br>
<br>
<br>
</blockquote>
<br>
</blockquote></div><br></div>