Skip to content

Commit 7ab743d

Browse files
finish iq exporter and fix network lib send not closing socket on error
1 parent 122e67e commit 7ab743d

File tree

2 files changed

+134
-35
lines changed

2 files changed

+134
-35
lines changed

core/src/utils/net.cpp

+10-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,16 @@ namespace net {
138138
}
139139

140140
int Socket::send(const uint8_t* data, size_t len, const Address* dest) {
141-
return sendto(sock, (const char*)data, len, 0, (sockaddr*)(dest ? &dest->addr : (raddr ? &raddr->addr : NULL)), sizeof(sockaddr_in));
141+
// Send data
142+
int err = sendto(sock, (const char*)data, len, 0, (sockaddr*)(dest ? &dest->addr : (raddr ? &raddr->addr : NULL)), sizeof(sockaddr_in));
143+
144+
// On error, close socket
145+
if (err <= 0 && !WOULD_BLOCK) {
146+
close();
147+
return err;
148+
}
149+
150+
return err;
142151
}
143152

144153
int Socket::sendstr(const std::string& str, const Address* dest) {

0 commit comments

Comments
 (0)