mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2026-06-18 14:51:30 +00:00
Ensure termination error code is propagated properly
This commit is contained in:
+2
-2
@@ -105,7 +105,7 @@ static void UdpPingThreadProc(void* context) {
|
|||||||
err = sendto(rtpSocket, pingData, sizeof(pingData), 0, (struct sockaddr*)&saddr, RemoteAddrLen);
|
err = sendto(rtpSocket, pingData, sizeof(pingData), 0, (struct sockaddr*)&saddr, RemoteAddrLen);
|
||||||
if (err != sizeof(pingData)) {
|
if (err != sizeof(pingData)) {
|
||||||
Limelog("Audio Ping: sendto() failed: %d\n", (int)LastSocketError());
|
Limelog("Audio Ping: sendto() failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ static void ReceiveThreadProc(void* context) {
|
|||||||
packet->size = recvUdpSocket(rtpSocket, &packet->data[0], MAX_PACKET_SIZE, useSelect);
|
packet->size = recvUdpSocket(rtpSocket, &packet->data[0], MAX_PACKET_SIZE, useSelect);
|
||||||
if (packet->size < 0) {
|
if (packet->size < 0) {
|
||||||
Limelog("Audio Receive: recvUdpSocket() failed: %d\n", (int)LastSocketError());
|
Limelog("Audio Receive: recvUdpSocket() failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (packet->size == 0) {
|
else if (packet->size == 0) {
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ static void ClInternalConnectionTerminated(long errorCode)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
terminationCallbackErrorCode = errorCode;
|
||||||
alreadyTerminated = 1;
|
alreadyTerminated = 1;
|
||||||
|
|
||||||
// Invoke the termination callback on a separate thread
|
// Invoke the termination callback on a separate thread
|
||||||
|
|||||||
+4
-4
@@ -486,7 +486,7 @@ static void lossStatsThreadFunc(void* context) {
|
|||||||
payloadLengths[IDX_LOSS_STATS], lossStatsPayload)) {
|
payloadLengths[IDX_LOSS_STATS], lossStatsPayload)) {
|
||||||
free(lossStatsPayload);
|
free(lossStatsPayload);
|
||||||
Limelog("Loss Stats: Transaction failed: %d\n", (int)LastSocketError());
|
Limelog("Loss Stats: Transaction failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -520,7 +520,7 @@ static void requestIdrFrame(void) {
|
|||||||
if (!sendMessageAndDiscardReply(packetTypes[IDX_INVALIDATE_REF_FRAMES],
|
if (!sendMessageAndDiscardReply(packetTypes[IDX_INVALIDATE_REF_FRAMES],
|
||||||
payloadLengths[IDX_INVALIDATE_REF_FRAMES], payload)) {
|
payloadLengths[IDX_INVALIDATE_REF_FRAMES], payload)) {
|
||||||
Limelog("Request IDR Frame: Transaction failed: %d\n", (int)LastSocketError());
|
Limelog("Request IDR Frame: Transaction failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -529,7 +529,7 @@ static void requestIdrFrame(void) {
|
|||||||
if (!sendMessageAndDiscardReply(packetTypes[IDX_REQUEST_IDR_FRAME],
|
if (!sendMessageAndDiscardReply(packetTypes[IDX_REQUEST_IDR_FRAME],
|
||||||
payloadLengths[IDX_REQUEST_IDR_FRAME], preconstructedPayloads[IDX_REQUEST_IDR_FRAME])) {
|
payloadLengths[IDX_REQUEST_IDR_FRAME], preconstructedPayloads[IDX_REQUEST_IDR_FRAME])) {
|
||||||
Limelog("Request IDR Frame: Transaction failed: %d\n", (int)LastSocketError());
|
Limelog("Request IDR Frame: Transaction failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -564,7 +564,7 @@ static void requestInvalidateReferenceFrames(void) {
|
|||||||
if (!sendMessageAndDiscardReply(packetTypes[IDX_INVALIDATE_REF_FRAMES],
|
if (!sendMessageAndDiscardReply(packetTypes[IDX_INVALIDATE_REF_FRAMES],
|
||||||
payloadLengths[IDX_INVALIDATE_REF_FRAMES], payload)) {
|
payloadLengths[IDX_INVALIDATE_REF_FRAMES], payload)) {
|
||||||
Limelog("Request Invaldiate Reference Frames: Transaction failed: %d\n", (int)LastSocketError());
|
Limelog("Request Invaldiate Reference Frames: Transaction failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -318,7 +318,7 @@ static void inputSendThreadProc(void* context) {
|
|||||||
(int) (encryptedSize + sizeof(encryptedLengthPrefix)), 0);
|
(int) (encryptedSize + sizeof(encryptedLengthPrefix)), 0);
|
||||||
if (err <= 0) {
|
if (err <= 0) {
|
||||||
Limelog("Input: send() failed: %d\n", (int) LastSocketError());
|
Limelog("Input: send() failed: %d\n", (int) LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -337,7 +337,7 @@ static void inputSendThreadProc(void* context) {
|
|||||||
(int) (encryptedSize + sizeof(encryptedLengthPrefix)));
|
(int) (encryptedSize + sizeof(encryptedLengthPrefix)));
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
Limelog("Input: sendInputPacketOnControlStream() failed: %d\n", (int) err);
|
Limelog("Input: sendInputPacketOnControlStream() failed: %d\n", (int) err);
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -51,7 +51,7 @@ static void UdpPingThreadProc(void* context) {
|
|||||||
err = sendto(rtpSocket, pingData, sizeof(pingData), 0, (struct sockaddr*)&saddr, RemoteAddrLen);
|
err = sendto(rtpSocket, pingData, sizeof(pingData), 0, (struct sockaddr*)&saddr, RemoteAddrLen);
|
||||||
if (err != sizeof(pingData)) {
|
if (err != sizeof(pingData)) {
|
||||||
Limelog("Video Ping: send() failed: %d\n", (int)LastSocketError());
|
Limelog("Video Ping: send() failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ static void ReceiveThreadProc(void* context) {
|
|||||||
err = recvUdpSocket(rtpSocket, buffer, receiveSize, useSelect);
|
err = recvUdpSocket(rtpSocket, buffer, receiveSize, useSelect);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
Limelog("Video Receive: recvUdpSocket() failed: %d\n", (int)LastSocketError());
|
Limelog("Video Receive: recvUdpSocket() failed: %d\n", (int)LastSocketError());
|
||||||
ListenerCallbacks.connectionTerminated(LastSocketError());
|
ListenerCallbacks.connectionTerminated(LastSocketFail());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (err == 0) {
|
else if (err == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user