Switched to a transaction for TelldusCoreEvents as well. This since Windows seems to behave strange otherwise.
This commit is contained in:
parent
9f7928076e
commit
6ace9fb071
3 changed files with 6 additions and 3 deletions
|
@ -137,6 +137,8 @@ void Manager::run() {
|
|||
while( d->eventSocket.connected() ) {
|
||||
logMessage("-> OVERLAPPED read");
|
||||
std::string data(d->eventSocket.read());
|
||||
Message message("Tack");
|
||||
d->eventSocket.write(message);
|
||||
logMessage("<- OVERLAPPED result:");
|
||||
logMessage(data);
|
||||
if (data.length() == 0) {
|
||||
|
|
|
@ -85,12 +85,13 @@ void Socket::disconnect() {
|
|||
}
|
||||
|
||||
void Socket::write(const TelldusService::Message &msg) {
|
||||
DWORD bytesWritten = 0;
|
||||
this->writeOverlapped(msg);
|
||||
/*DWORD bytesWritten = 0;
|
||||
if (WriteFile(d->hPipe, msg.data(), (DWORD)msg.length(), &bytesWritten, NULL)) {
|
||||
FlushFileBuffers(d->hPipe);
|
||||
} else {
|
||||
d->connected = false;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
void Socket::writeOverlapped(const TelldusService::Message &msg) {
|
||||
|
|
|
@ -130,7 +130,7 @@ void TelldusCore::rawDeviceEventSlot(const QString &data, int controllerId) {
|
|||
|
||||
void TelldusCore::sendEventMessage(const Message &msg) {
|
||||
foreach(Socket *s, d->eventSockets) {
|
||||
s->write(msg);
|
||||
std::string ret = s->readWriteOverlapped(msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue