⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectable.cc

📁 Unix下的MUD客户端程序
💻 CC
字号:
#include "mcl.h"#include <sys/time.h>List<Selectable*> Selectable::ioList;// Do a select on all registered Selectable objectsvoid Selectable::select(int sec, int usec){    fd_set in_set, out_set;    Selectable *i;    int max_fd = 0;    struct timeval tv;    tv.tv_usec = usec;    tv.tv_sec = sec;        FD_ZERO(&in_set);    FD_ZERO(&out_set);        for (i = ioList.rewind(); i;  i = ioList.next())        max_fd = max(max_fd, i->init_fdset(&in_set, &out_set));            while (::select(max_fd+1, &in_set, &out_set, NULL, &tv) < 0)        if (errno != EAGAIN && errno != EINTR)        {            perror ("select");            exit (1);        }    // @@ Async connections are ready when ready to be written to, not read from    for (i = ioList.rewind(); i;  i = ioList.next())        i->check_fdset(&in_set, &out_set);}Selectable::Selectable() {    ioList.append(this);}Selectable::~Selectable() {    ioList.remove(this);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -