From 93fdd88a422e9447ffe7a71b8caf1f4075e8ecf3 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 12 Jul 2021 11:41:43 +0200 Subject: Hold QSslContext in shared_ptr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... instead of QSharedPointer. QSharedPointer performs twice as many atomic operations per pointer copy as std::shared_ptr, and this is private API, we're not bound by BC constraints, so we can port to the more efficient version. Change-Id: I2e2a02493565a7ca51c86ec0ed66b6ce7c763e41 Reviewed-by: MÃ¥rten Nordheim --- src/network/ssl/qsslsocket.cpp | 4 ++-- src/network/ssl/qsslsocket_p.h | 4 ++-- src/network/ssl/qtlsbackend.cpp | 4 ++-- src/network/ssl/qtlsbackend_p.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/network/ssl') diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index e819510308..47f4968f03 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -2995,7 +2995,7 @@ QList QSslSocketPrivate::unixRootCertDirectories() /*! \internal */ -void QSslSocketPrivate::checkSettingSslContext(QSslSocket* socket, QSharedPointer tlsContext) +void QSslSocketPrivate::checkSettingSslContext(QSslSocket* socket, std::shared_ptr tlsContext) { if (!socket) return; @@ -3007,7 +3007,7 @@ void QSslSocketPrivate::checkSettingSslContext(QSslSocket* socket, QSharedPointe /*! \internal */ -QSharedPointer QSslSocketPrivate::sslContext(QSslSocket *socket) +std::shared_ptr QSslSocketPrivate::sslContext(QSslSocket *socket) { if (!socket) return {}; diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h index 2816e62381..f2c7c00ab3 100644 --- a/src/network/ssl/qsslsocket_p.h +++ b/src/network/ssl/qsslsocket_p.h @@ -130,8 +130,8 @@ public: Q_NETWORK_EXPORT static void pauseSocketNotifiers(QSslSocket*); Q_NETWORK_EXPORT static void resumeSocketNotifiers(QSslSocket*); // ### The 2 methods below should be made member methods once the QSslContext class is made public - static void checkSettingSslContext(QSslSocket*, QSharedPointer); - static QSharedPointer sslContext(QSslSocket *socket); + static void checkSettingSslContext(QSslSocket*, std::shared_ptr); + static std::shared_ptr sslContext(QSslSocket *socket); Q_NETWORK_EXPORT bool isPaused() const; Q_NETWORK_EXPORT void setPaused(bool p); bool bind(const QHostAddress &address, quint16, QAbstractSocket::BindMode) override; diff --git a/src/network/ssl/qtlsbackend.cpp b/src/network/ssl/qtlsbackend.cpp index d5f016a4d2..689908d644 100644 --- a/src/network/ssl/qtlsbackend.cpp +++ b/src/network/ssl/qtlsbackend.cpp @@ -1864,7 +1864,7 @@ TlsCryptograph::~TlsCryptograph() = default; \sa sslContext() */ -void TlsCryptograph::checkSettingSslContext(QSharedPointer tlsContext) +void TlsCryptograph::checkSettingSslContext(std::shared_ptr tlsContext) { Q_UNUSED(tlsContext); } @@ -1877,7 +1877,7 @@ void TlsCryptograph::checkSettingSslContext(QSharedPointer tlsConte \sa checkSettingSslContext() */ -QSharedPointer TlsCryptograph::sslContext() const +std::shared_ptr TlsCryptograph::sslContext() const { return {}; } diff --git a/src/network/ssl/qtlsbackend_p.h b/src/network/ssl/qtlsbackend_p.h index 79bd0c5ebf..020d84506e 100644 --- a/src/network/ssl/qtlsbackend_p.h +++ b/src/network/ssl/qtlsbackend_p.h @@ -194,8 +194,8 @@ public: virtual ~TlsCryptograph(); virtual void init(QSslSocket *q, QSslSocketPrivate *d) = 0; - virtual void checkSettingSslContext(QSharedPointer tlsContext); - virtual QSharedPointer sslContext() const; + virtual void checkSettingSslContext(std::shared_ptr tlsContext); + virtual std::shared_ptr sslContext() const; virtual QList tlsErrors() const = 0; -- cgit v1.2.3