Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
4.7.0
-
None
-
Win XP SP3, Visual Studio 2008, Qt 4.7.0, Qt Visual Studio Add-In 1.1.7
Description
I've made a simple app that performs a QLocalSocket/QLocalServer test and run 3 scenarios:
1. All OK, as it's meant to work (no server restart)
1.1 Run 2 instances of app: App1 and App2
1.2 App1->Listen, App2->Connect (see connection result in logs)
1.3 App2->Ping (see Ping and Pong strings in logs)
2. Server fails to answer
2.1 Run 2 instances of app: App1 and App2
2.2 App1->Listen, App2->Connect (see connection result in logs)
2.3 App1->Close (see disconnection result in logs)
2.4 App1->Listen, App2->Connect (see connection result in logs)
2.5 App2->Ping (see Ping string in log, but no Pong)
3. Client fails to send
2.1 Run 2 instances of app: App1 and App2
2.2 App1->Listen, App2->Connect (see connection result in logs)
2.3 App2->Ping (see Ping and Pong strings in logs)
2.4 App1->Close (see disconnection result in logs)
2.5 App1->Listen, App2->Connect (see connection result in logs)
2.6 App2->Ping (No Ping string at all)
As I found, in second case sending thread hangs in GetOverlappedResult function at qwindowspipewriter.cpp: 141;
In third case sending thread fails to WriteFile (qwindowspipewriter.cpp: 131) with ERROR_PIPE_NOT_CONNECTED error, which hasn't workaround.
Application is in attachment as sources with VS 2008 project file.