diff options
-rw-r--r-- | modules/commands/cs_info.cpp | 2 | ||||
-rw-r--r-- | src/socketengines/socketengine_poll.cpp | 25 | ||||
-rw-r--r-- | src/socketengines/socketengine_select.cpp | 27 |
3 files changed, 24 insertions, 30 deletions
diff --git a/modules/commands/cs_info.cpp b/modules/commands/cs_info.cpp index 074e48fd0..8808ec628 100644 --- a/modules/commands/cs_info.cpp +++ b/modules/commands/cs_info.cpp @@ -107,7 +107,7 @@ class CommandCSInfo : public Command } if (ci->HasExt("SUSPENDED")) { - Anope::string *by = ci->GetExt<Anope::string *>("suspend_by"), *reason = ci->GetExt<Anope::string *>("suspend_reason"); + Anope::string *by = ci->GetExt<ExtensibleItemClass<Anope::string> *>("suspend_by"), *reason = ci->GetExt<ExtensibleItemClass<Anope::string> *>("suspend_reason"); if (by != NULL) info["Suspended"] = Anope::printf("[%s] %s", by->c_str(), (reason && !reason->empty() ? reason->c_str() : NO_REASON)); } diff --git a/src/socketengines/socketengine_poll.cpp b/src/socketengines/socketengine_poll.cpp index 205d79322..bc7c89f5f 100644 --- a/src/socketengines/socketengine_poll.cpp +++ b/src/socketengines/socketengine_poll.cpp @@ -48,17 +48,14 @@ void SocketEngine::Shutdown() void SocketEngine::Change(Socket *s, bool set, SocketFlag flag) { - if (set == s->HasFlag(flag)) + if (set == s->flags[flag]) return; - bool before_registered = s->HasFlag(SF_READABLE) || s->HasFlag(SF_WRITABLE); + bool before_registered = s->flags[SF_READABLE] || s->flags[SF_WRITABLE]; - if (set) - s->SetFlag(flag); - else - s->UnsetFlag(flag); - - bool now_registered = s->HasFlag(SF_READABLE) || s->HasFlag(SF_WRITABLE); + s->flags[flag] = set; + + bool now_registered = s->flags[SF_READABLE] || s->flags[SF_WRITABLE]; if (!before_registered && now_registered) { @@ -69,7 +66,7 @@ void SocketEngine::Change(Socket *s, bool set, SocketFlag flag) memset(&ev, 0, sizeof(ev)); ev.fd = s->GetFD(); - ev.events = (s->HasFlag(SF_READABLE) ? POLLIN : 0) | (s->HasFlag(SF_WRITABLE) ? POLLOUT : 0); + ev.events = (s->flags[SF_READABLE] ? POLLIN : 0) | (s->flags[SF_WRITABLE] ? POLLOUT : 0); socket_positions[ev.fd] = SocketCount; ++SocketCount; @@ -100,7 +97,7 @@ void SocketEngine::Change(Socket *s, bool set, SocketFlag flag) throw SocketException("Unable to modify fd " + stringify(s->GetFD()) + " in poll, it does not exist?"); pollfd &ev = events[pos->second]; - ev.events = (s->HasFlag(SF_READABLE) ? POLLIN : 0) | (s->HasFlag(SF_WRITABLE) ? POLLOUT : 0); + ev.events = (s->flags[SF_READABLE] ? POLLIN : 0) | (s->flags[SF_WRITABLE] ? POLLOUT : 0); } } @@ -141,18 +138,18 @@ void SocketEngine::Process() if (!s->Process()) { - if (s->HasFlag(SF_DEAD)) + if (s->flags[SF_DEAD]) delete s; continue; } if ((ev->revents & POLLIN) && !s->ProcessRead()) - s->SetFlag(SF_DEAD); + s->flags[SF_DEAD] = true; if ((ev->revents & POLLOUT) && !s->ProcessWrite()) - s->SetFlag(SF_DEAD); + s->flags[SF_DEAD] = true; - if (s->HasFlag(SF_DEAD)) + if (s->flags[SF_DEAD]) delete s; } } diff --git a/src/socketengines/socketengine_select.cpp b/src/socketengines/socketengine_select.cpp index 4aa82529b..81c8d844e 100644 --- a/src/socketengines/socketengine_select.cpp +++ b/src/socketengines/socketengine_select.cpp @@ -40,25 +40,22 @@ void SocketEngine::Shutdown() void SocketEngine::Change(Socket *s, bool set, SocketFlag flag) { - if (set == s->HasFlag(flag)) + if (set == s->flags[flag]) return; - bool before_registered = s->HasFlag(SF_READABLE) || s->HasFlag(SF_WRITABLE); + bool before_registered = s->flags[SF_READABLE] || s->flags[SF_WRITABLE]; - if (set) - s->SetFlag(flag); - else - s->UnsetFlag(flag); + s->flags[flag] = set; - bool now_registered = s->HasFlag(SF_READABLE) || s->HasFlag(SF_WRITABLE); + bool now_registered = s->flags[SF_READABLE] || s->flags[SF_WRITABLE]; if (!before_registered && now_registered) { if (s->GetFD() > MaxFD) MaxFD = s->GetFD(); - if (s->HasFlag(SF_READABLE)) + if (s->flags[SF_READABLE]) FD_SET(s->GetFD(), &ReadFDs); - if (s->HasFlag(SF_WRITABLE)) + if (s->flags[SF_WRITABLE]) FD_SET(s->GetFD(), &WriteFDs); ++FDCount; } @@ -72,12 +69,12 @@ void SocketEngine::Change(Socket *s, bool set, SocketFlag flag) } else if (before_registered && now_registered) { - if (s->HasFlag(SF_READABLE)) + if (s->flags[SF_READABLE]) FD_SET(s->GetFD(), &ReadFDs); else FD_CLR(s->GetFD(), &ReadFDs); - if (s->HasFlag(SF_WRITABLE)) + if (s->flags[SF_WRITABLE]) FD_SET(s->GetFD(), &WriteFDs); else FD_CLR(s->GetFD(), &WriteFDs); @@ -133,18 +130,18 @@ void SocketEngine::Process() if (!s->Process()) { - if (s->HasFlag(SF_DEAD)) + if (s->flags[SF_DEAD]) delete s; continue; } if (has_read && !s->ProcessRead()) - s->SetFlag(SF_DEAD); + s->flags[SF_DEAD] = true; if (has_write && !s->ProcessWrite()) - s->SetFlag(SF_DEAD); + s->flags[SF_DEAD] = true; - if (s->HasFlag(SF_DEAD)) + if (s->flags[SF_DEAD]) delete s; } } |