mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2025-10-04 13:40:07 +00:00
EINTR is not crash-worthy
This is how it should have been handled anyway. This fixes a (benign) race condition when the server is killed, as well as gprof builds. Also updated tdata.
This commit is contained in:
@@ -312,6 +312,10 @@ void CNServer::start() {
|
|||||||
// the timeout is to ensure shard timers are ticking
|
// the timeout is to ensure shard timers are ticking
|
||||||
int n = poll(fds.data(), fds.size(), 50);
|
int n = poll(fds.data(), fds.size(), 50);
|
||||||
if (SOCKETERROR(n)) {
|
if (SOCKETERROR(n)) {
|
||||||
|
#ifndef _WIN32
|
||||||
|
if (errno == EINTR)
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
std::cout << "[FATAL] poll() returned error" << std::endl;
|
std::cout << "[FATAL] poll() returned error" << std::endl;
|
||||||
terminate(0);
|
terminate(0);
|
||||||
}
|
}
|
||||||
|
2
tdata
2
tdata
Submodule tdata updated: e9e03fd0f0...9a39919586
Reference in New Issue
Block a user