fixed sleep function, hight cpu load while doing nothing

origin
steffen 5 years ago
parent 4e68939126
commit 5843b0d365

@ -117,18 +117,18 @@ void Server::ThreadProcess() {
// //
// mode manual // mode manual
else if (mode == SMODE_MANUAL) { else if (mode == SMODE_MANUAL) {
server->locomotives.Loop();
} }
// //
// mode auto // mode auto
else if (mode == SMODE_AUTO) { else if (mode == SMODE_AUTO) {
server->locomotives.Loop();
} }
gettimeofday (&tv, NULL); gettimeofday (&tv, NULL);
i = (tv.tv_sec-tv_loop.tv_sec) * 1000 + (tv.tv_usec - tv_loop.tv_usec) / 1000; i = (tv.tv_sec-tv_loop.tv_sec) * 1000 + (tv.tv_usec - tv_loop.tv_usec) / 1000;
if (i > cycletime_max) cycletime_max = i; if (i > cycletime_max) cycletime_max = i;
if (i < 25 && i > 0) usleep (25000 - i*1000); if (i < 25 && i >= 0) usleep (25000 - i*1000);
gettimeofday (&tv, NULL); gettimeofday (&tv, NULL);
i = (tv.tv_sec-tv_loop.tv_sec) * 1000 + (tv.tv_usec - tv_loop.tv_usec) / 1000; i = (tv.tv_sec-tv_loop.tv_sec) * 1000 + (tv.tv_usec - tv_loop.tv_usec) / 1000;
if (i > cyclelooptime_max) cyclelooptime_max = i; if (i > cyclelooptime_max) cyclelooptime_max = i;

Loading…
Cancel
Save