Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt6-serialport for openSUSE:Factory 
checked in at 2022-09-15 22:59:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-serialport (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-serialport.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-serialport"

Thu Sep 15 22:59:34 2022 rev:8 rq:1003821 version:6.3.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-serialport/qt6-serialport.changes    
2022-06-20 15:38:09.918937579 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-serialport.new.2083/qt6-serialport.changes  
2022-09-15 23:00:47.089485491 +0200
@@ -1,0 +2,6 @@
+Fri Sep  9 12:41:46 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 6.3.2:
+  * https://www.qt.io/blog/qt-6.3.2-released
+
+-------------------------------------------------------------------

Old:
----
  qtserialport-everywhere-src-6.3.1.tar.xz

New:
----
  qtserialport-everywhere-src-6.3.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-serialport.spec ++++++
--- /var/tmp/diff_new_pack.4xnXtB/_old  2022-09-15 23:00:48.057488224 +0200
+++ /var/tmp/diff_new_pack.4xnXtB/_new  2022-09-15 23:00:48.065488247 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define real_version 6.3.1
+%define real_version 6.3.2
 %define short_version 6.3
 %define tar_name qtserialport-everywhere-src
 %define tar_suffix %{nil}
@@ -27,7 +27,7 @@
 %endif
 #
 Name:           qt6-serialport%{?pkg_suffix}
-Version:        6.3.1
+Version:        6.3.2
 Release:        0
 Summary:        Qt 6 SerialPort library
 License:        LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)

++++++ qtserialport-everywhere-src-6.3.1.tar.xz -> 
qtserialport-everywhere-src-6.3.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.3.1/.cmake.conf 
new/qtserialport-everywhere-src-6.3.2/.cmake.conf
--- old/qtserialport-everywhere-src-6.3.1/.cmake.conf   2022-06-06 
03:06:51.000000000 +0200
+++ new/qtserialport-everywhere-src-6.3.2/.cmake.conf   2022-09-06 
09:27:29.000000000 +0200
@@ -1,2 +1,2 @@
-set(QT_REPO_MODULE_VERSION "6.3.1")
+set(QT_REPO_MODULE_VERSION "6.3.2")
 set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.3.1/.tag 
new/qtserialport-everywhere-src-6.3.2/.tag
--- old/qtserialport-everywhere-src-6.3.1/.tag  2022-06-06 03:06:51.000000000 
+0200
+++ new/qtserialport-everywhere-src-6.3.2/.tag  2022-09-06 09:27:29.000000000 
+0200
@@ -1 +1 @@
-51e896081c70c40bf2a02a8f4953e9b27b984bff
+3cf0152472cb9286fcbc995f0f0bc34c444e9b43
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.3.1/dependencies.yaml 
new/qtserialport-everywhere-src-6.3.2/dependencies.yaml
--- old/qtserialport-everywhere-src-6.3.1/dependencies.yaml     2022-06-06 
03:06:51.000000000 +0200
+++ new/qtserialport-everywhere-src-6.3.2/dependencies.yaml     2022-09-06 
09:27:29.000000000 +0200
@@ -1,4 +1,4 @@
 dependencies:
   ../qtbase:
-    ref: 8483dcde90f40cdfd0a0ec4245b03610b46b6cae
+    ref: 12dc1dc09d73f5400e1e77181749793885ed9ffc
     required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialport_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialport_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialport_p.h
       2022-06-06 03:06:51.000000000 +0200
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialport_p.h
       1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qserialport_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialportinfo_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialportinfo_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialportinfo_p.h
   2022-06-06 03:06:51.000000000 +0200
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qserialportinfo_p.h
   1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qserialportinfo_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qtudev_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qtudev_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qtudev_p.h
    2022-06-06 03:06:51.000000000 +0200
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qtudev_p.h
    1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qtudev_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qwinoverlappedionotifier_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qwinoverlappedionotifier_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.1/QtSerialPort/private/qwinoverlappedionotifier_p.h
  2022-06-06 03:06:51.000000000 +0200
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.1/QtSerialPort/private/qwinoverlappedionotifier_p.h
  1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qwinoverlappedionotifier_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialport_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialport_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialport_p.h
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialport_p.h
       2022-09-06 09:27:29.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qserialport_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialportinfo_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialportinfo_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialportinfo_p.h
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qserialportinfo_p.h
   2022-09-06 09:27:29.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qserialportinfo_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qtudev_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qtudev_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qtudev_p.h
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qtudev_p.h
    2022-09-06 09:27:29.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qtudev_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qwinoverlappedionotifier_p.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qwinoverlappedionotifier_p.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/6.3.2/QtSerialPort/private/qwinoverlappedionotifier_p.h
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/6.3.2/QtSerialPort/private/qwinoverlappedionotifier_p.h
  2022-09-06 09:27:29.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qwinoverlappedionotifier_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/qtserialportversion.h
 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/qtserialportversion.h
--- 
old/qtserialport-everywhere-src-6.3.1/include/QtSerialPort/qtserialportversion.h
    2022-06-09 02:14:40.000000000 +0200
+++ 
new/qtserialport-everywhere-src-6.3.2/include/QtSerialPort/qtserialportversion.h
    2022-09-07 17:20:15.000000000 +0200
@@ -2,8 +2,8 @@
 #ifndef QT_QTSERIALPORT_VERSION_H
 #define QT_QTSERIALPORT_VERSION_H
 
-#define QTSERIALPORT_VERSION_STR "6.3.1"
+#define QTSERIALPORT_VERSION_STR "6.3.2"
 
-#define QTSERIALPORT_VERSION 0x060301
+#define QTSERIALPORT_VERSION 0x060302
 
 #endif // QT_QTSERIALPORT_VERSION_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.3.1/src/serialport/qwinoverlappedionotifier.cpp
 
new/qtserialport-everywhere-src-6.3.2/src/serialport/qwinoverlappedionotifier.cpp
--- 
old/qtserialport-everywhere-src-6.3.1/src/serialport/qwinoverlappedionotifier.cpp
   2022-06-06 03:06:51.000000000 +0200
+++ 
new/qtserialport-everywhere-src-6.3.2/src/serialport/qwinoverlappedionotifier.cpp
   2022-09-06 09:27:29.000000000 +0200
@@ -129,6 +129,7 @@
     HANDLE hSemaphore = nullptr;
     HANDLE hResultsMutex = nullptr;
     QAtomicInt waiting;
+    QAtomicInt signalSent;
     QQueue<IOResult> results;
 };
 
@@ -397,14 +398,34 @@
     results.enqueue(IOResult(numberOfBytes, errorCode, overlapped));
     ReleaseMutex(hResultsMutex);
     ReleaseSemaphore(hSemaphore, 1, NULL);
-    if (!waiting)
+    // Do not send a signal if we didn't process the previous one.
+    // This is done to prevent soft memory leaks when working in a completely
+    // synchronous way.
+    if (!waiting && !signalSent.loadAcquire()) {
+        signalSent.storeRelease(1);
         emit q->_q_notify();
+    }
 }
 
 void QWinOverlappedIoNotifierPrivate::_q_notified()
 {
-    if (WaitForSingleObject(hSemaphore, 0) == WAIT_OBJECT_0)
-        dispatchNextIoResult();
+    Q_Q(QWinOverlappedIoNotifier);
+    signalSent.storeRelease(0); // signal processed - ready for a new one
+    if (WaitForSingleObject(hSemaphore, 0) == WAIT_OBJECT_0) {
+        // As we do not queue signals anymore, we need to process the whole
+        // queue at once.
+        WaitForSingleObject(hResultsMutex, INFINITE);
+        QQueue<IOResult> values;
+        results.swap(values);
+        ReleaseMutex(hResultsMutex);
+        // 'q' can go out of scope if the user decides to close the serial port
+        // while processing some answer. So we need to guard against that.
+        QPointer<QWinOverlappedIoNotifier> qptr(q);
+        while (!values.empty() && qptr) {
+            IOResult ioresult = values.dequeue();
+            emit qptr->notified(ioresult.numberOfBytes, ioresult.errorCode, 
ioresult.overlapped);
+        }
+    }
 }
 
 OVERLAPPED *QWinOverlappedIoNotifierPrivate::dispatchNextIoResult()

Reply via email to