<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">&lt;<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@boundarydevices.com</a>&gt;</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&#39;s no evidence that any change was committed<br>
and I verified that the bug is still there (it&#39;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 &lt;<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a><br></div><div class="im">
&lt;mailto:<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a>&gt;&gt; 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>

        &lt;<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>&gt;<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>
        &lt;<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>&gt;<br>
<br>
        Signed-off-by: Eric Nelson &lt;eric.nelson@boundarydevices._<u></u>_com<br>
        &lt;mailto:<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@<u></u>boundarydevices.com</a>&gt;&gt;<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&#39;t received any feedback from the Qt&#39;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>
        &quot;<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>
        &lt;<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>&gt;<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>
                      &quot;<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 &lt;eric.nelson@boundarydevices._<u></u>_com<br>
        &lt;mailto:<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@<u></u>boundarydevices.com</a>&gt;&gt;<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>

        &lt;<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>&gt;<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>
        &lt;<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>&gt;<br>
        +<br>
        +Signed-off-by: Eric Nelson &lt;eric.nelson@boundarydevices._<u></u>_com<br>
        &lt;mailto:<a href="mailto:eric.nelson@boundarydevices.com" target="_blank">eric.nelson@<u></u>boundarydevices.com</a>&gt;&gt;<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()-&gt;<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(&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<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>
    &lt;mailto:<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@<u></u>lists.openembedded.org</a>&gt;<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>
    &lt;<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>&gt;<br>
<br>
<br>
</blockquote>
<br>
</blockquote></div><br></div>