Seperate epoll into its own function
This commit is contained in:
parent
6cca794fee
commit
35ee4d3ff4
|
@ -204,23 +204,15 @@ void LogcatThread::_handle_line(char* buf, size_t length, bool is_stdout) {
|
||||||
this->_put_if_not_stopped(std::move(log_entry));
|
this->_put_if_not_stopped(std::move(log_entry));
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogcatThread::_run(std::stop_token stoken) {
|
void LogcatThread::_run_epoll_round() {
|
||||||
struct epoll_event events[EPOLL_MAX_EVENTS];
|
struct epoll_event events[EPOLL_MAX_EVENTS];
|
||||||
|
|
||||||
while (!stoken.stop_requested()) {
|
|
||||||
#ifndef NDEBUG
|
|
||||||
if (this->debug_log_request.test()) {
|
|
||||||
this->_put_if_not_stopped(format_log("A log entry from the logcat thread :D"));
|
|
||||||
this->debug_log_request.clear();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int ready_fds = epoll_wait(this->_epoll_fd, events, EPOLL_MAX_EVENTS, 1000);
|
int ready_fds = epoll_wait(this->_epoll_fd, events, EPOLL_MAX_EVENTS, 1000);
|
||||||
if (ready_fds == -1) {
|
if (ready_fds == -1) {
|
||||||
std::string log_entry = format_log(std::string("epoll_wait(): ") + strerror(errno));
|
std::string log_entry = format_log(std::string("epoll_wait(): ") + strerror(errno));
|
||||||
printf("%s\n", log_entry.c_str());
|
printf("%s\n", log_entry.c_str());
|
||||||
this->_put_if_not_stopped(std::move(log_entry));
|
this->_put_if_not_stopped(std::move(log_entry));
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < ready_fds; i++) {
|
for (int i=0; i < ready_fds; i++) {
|
||||||
|
@ -239,5 +231,17 @@ void LogcatThread::_run(std::stop_token stoken) {
|
||||||
this->_put_if_not_stopped(std::move(log_entry));
|
this->_put_if_not_stopped(std::move(log_entry));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void LogcatThread::_run(std::stop_token stoken) {
|
||||||
|
while (!stoken.stop_requested()) {
|
||||||
|
#ifndef NDEBUG
|
||||||
|
if (this->debug_log_request.test()) {
|
||||||
|
this->_put_if_not_stopped(format_log("A log entry from the logcat thread :D"));
|
||||||
|
this->debug_log_request.clear();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
this->_run_epoll_round();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ public:
|
||||||
private:
|
private:
|
||||||
void _put_if_not_stopped(LogcatThreadItem item);
|
void _put_if_not_stopped(LogcatThreadItem item);
|
||||||
void _handle_line(char* buf, size_t length, bool is_stdout);
|
void _handle_line(char* buf, size_t length, bool is_stdout);
|
||||||
|
void _run_epoll_round();
|
||||||
void _run(std::stop_token stoken);
|
void _run(std::stop_token stoken);
|
||||||
|
|
||||||
int _epoll_fd = -1;
|
int _epoll_fd = -1;
|
||||||
|
|
Loading…
Reference in New Issue