sources/main.cpp

changeset 59
00a084f8ed26
parent 58
d175243ad169
child 72
1b9c53e0c846
equal deleted inserted replaced
58:d175243ad169 59:00a084f8ed26
62 timeval timeout; 62 timeval timeout;
63 timeout.tv_sec = 0; 63 timeout.tv_sec = 0;
64 timeout.tv_usec = 250000; // 0.25 seconds 64 timeout.tv_usec = 250000; // 0.25 seconds
65 FD_ZERO (&fdset); 65 FD_ZERO (&fdset);
66 FD_SET (0, &fdset); 66 FD_SET (0, &fdset);
67 RCONSession* session = RCONSession::get_session();
68 67
69 if (session)
70 { 68 {
71 int fd = session->socket()->file_descriptor(); 69 int fd = RCONSession::get_session()->socket()->file_descriptor();
72 highest = max (highest, fd); 70 highest = max (highest, fd);
73 FD_SET (fd, &fdset); 71 FD_SET (fd, &fdset);
74 } 72 }
75 73
76 select (highest + 1, &fdset, nullptr, nullptr, &timeout); 74 select (highest + 1, &fdset, nullptr, nullptr, &timeout);
77 75
78 if (FD_ISSET (0, &fdset)) 76 if (FD_ISSET (0, &fdset))
79 // stdin is ready, what's incoming? 77 // stdin is ready, what's incoming?
80 Interface::handle_input(); 78 Interface::handle_input();
81 79
82 if (session) 80 RCONSession::get_session()->tick();
83 session->tick();
84
85 Interface::render(); 81 Interface::render();
86 } 82 }
87 } 83 }
88 catch (const Exitception&) {} 84 catch (const Exitception&) {}
89 85
90 if (RCONSession::get_session()) 86 RCONSession::get_session()->disconnect();
91 RCONSession::get_session()->disconnect();
92
93 return EXIT_SUCCESS; 87 return EXIT_SUCCESS;
94 } 88 }

mercurial