summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qlocalserver_win.cpp
diff options
context:
space:
mode:
authorDaniel Nicoletti <daniel.nicoletti@kdab.com>2021-06-30 17:18:02 -0300
committerDaniel Nicoletti <daniel.nicoletti@kdab.com>2021-07-27 16:47:31 -0300
commit8f75ab231fafc136fef4b973f1241b9b2db30312 (patch)
treec634d4ba891a6d13f06368f502eba81f7f61e2ae /src/network/socket/qlocalserver_win.cpp
parente4fd86d53af3e7a949752f5558c137bb1c8c5fa6 (diff)
Allow to set Local Socket listen(2) backlog
Unix sockets do not suffer from SYN flood, thus the hardcoded value to 50 is size of the only queue to hold connections to be accepted, resulting in dropped connections when the limit is reached. On Windows the hardcoded value is 8, this patch changes the default to 50 matching UNIX. [ChangeLog][QtNetwork][QLocalServer] Added setListenBacklogSize() to be able to have control over the listen backlog feature. Change-Id: Iaee6349a46b75b0bd05e40e7ade5948f1cf9f407 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/socket/qlocalserver_win.cpp')
-rw-r--r--src/network/socket/qlocalserver_win.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/network/socket/qlocalserver_win.cpp b/src/network/socket/qlocalserver_win.cpp
index a05722987c..c8b356cb29 100644
--- a/src/network/socket/qlocalserver_win.cpp
+++ b/src/network/socket/qlocalserver_win.cpp
@@ -53,9 +53,6 @@
// before it is read. Pipewriter is used for write buffering.
#define BUFSIZE 0
-// ###: This should be a property. Should replace the insane 50 on unix as well.
-#define SYSTEM_MAX_PENDING_SOCKETS 8
-
QT_BEGIN_NAMESPACE
bool QLocalServerPrivate::addListener()
@@ -256,7 +253,7 @@ bool QLocalServerPrivate::listen(const QString &name)
connectionEventNotifier = new QWinEventNotifier(eventHandle , q);
q->connect(connectionEventNotifier, SIGNAL(activated(HANDLE)), q, SLOT(_q_onNewConnection()));
- for (int i = 0; i < SYSTEM_MAX_PENDING_SOCKETS; ++i)
+ for (int i = 0; i < listenBacklog; ++i)
if (!addListener())
return false;