summaryrefslogtreecommitdiff
path: root/tools/select.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/select.h')
-rw-r--r--tools/select.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/tools/select.h b/tools/select.h
index 7e873e2..a3622fd 100644
--- a/tools/select.h
+++ b/tools/select.h
@@ -11,8 +11,8 @@ class cTBSelect {
private:
int m_MaxFiled;
- fd_set m_Rfds;
- fd_set m_Wfds;
+ fd_set m_FdsQuery[2];
+ fd_set m_FdsResult[2];
public:
cTBSelect(void);
@@ -50,26 +50,26 @@ public:
};
inline void cTBSelect::Clear(void) {
- FD_ZERO(&m_Rfds);
- FD_ZERO(&m_Wfds);
+ FD_ZERO(&m_FdsQuery[0]);
+ FD_ZERO(&m_FdsQuery[1]);
m_MaxFiled = -1;
}
inline bool cTBSelect::Add(int Filed, bool Output /* = false */) {
if (Filed < 0) return false;
- FD_SET(Filed, Output ? &m_Wfds : &m_Rfds);
+ FD_SET(Filed, &m_FdsQuery[Output ? 1 : 0]);
if (Filed > m_MaxFiled) m_MaxFiled = Filed;
return true;
}
inline bool cTBSelect::CanRead(int FileNo) const {
if (FileNo < 0) return false;
- return FD_ISSET(FileNo, &m_Rfds);
+ return FD_ISSET(FileNo, &m_FdsResult[0]);
}
inline bool cTBSelect::CanWrite(int FileNo) const {
if (FileNo < 0) return false;
- return FD_ISSET(FileNo, &m_Wfds);
+ return FD_ISSET(FileNo, &m_FdsResult[1]);
}
#endif // TOOLBOX_SELECT_H