summaryrefslogtreecommitdiff
path: root/src/socketengine_select.cpp
AgeCommit message (Collapse)Author
2007-10-21Set these back to sane operationbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8271 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Change how the socket engines work when you addfd on an fd that already exists.brain
the only SANE outcome is that youve forgotten to DelFd, so it does this for you. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8269 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-03Tweaks to icky icky select() engine (thanks Ersan) this MIGHT fix select ↵brain
problems, but nobody really uses it anyway. We've been having more than usual problems due to select() due to epoll not being detected properly and it falling back on select() which isnt as well tested. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8113 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-25Fix for bug #407, set ref[fd] AFTER some checks that may return false and ↵brain
leave the socket engine in an undefined state git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8077 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-20Fix for bug #393, needs QA and backportbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7765 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-15Crusade to remove debug from stable and tested parts of the core and base ↵brain
modules. Most of the code here being de-noised hasnt had a crash or bug in it for many months, if not a year so the debug output is useless noise in the logfile when trying to trace a bug in a REAL problem area. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6356 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-11pgsql should now work thx to added posibility to force a fd out of the ↵peavey
socketengine. This should only be used as a *last resort* when dealing with 3rd party libs that invalidates a file descriptor beyond your control. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6295 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30Change delays to 1 sec.brain
NOTE: The chances of this actually waiting for 1 sec on any sizeable network are miniscule git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6176 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30Tons of optimization of WriteChannel, WriteChannelWithServ, WriteCommon etc, ↵brain
dont call userrec::GetFullHost or snprintf for every item, call it just once. Turns O(n) calls for every write into O(~1) calls per write. Remove some debug from the socketengines which makes debugging hard on large channels (write availability message) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6171 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23We can't log in SocketEngine::DelFd(), because the fd we're removing might ↵brain
just be that of the logger! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6082 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15Jesus, look who's the commit whore today. More header updates, and removal ↵w00t
of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-11Fixed a typo in selectspecial
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5948 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-11Untested, new clever pointer voodoo class for binary-safe ziplinks output ↵brain
buffers PLUS: Fix for random epoll dispatchevents crashes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5926 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11A few lines here are loglevel DEFAULT and should be DEBUG.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5696 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Fix a whoopsybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Error set handlin g for select socketengine, tidyup epollbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5609 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Socket error state stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-30Remove very verbose debugging of event systembrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5589 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-30Select is now done, and some debug removed. Not that anyone really should be ↵brain
using select()... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5587 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-24Fix bug#152 reported by smartysbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5316 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18Get rid of SocketEngine::Wait and array-copy, change to ↵brain
SocketEngine::DispatchEvents git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4944 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18EventHandler class, an abstraction for raw i/obrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Change to using Instance->Log (InspIRCd::Log) rather than log() macrobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵brain
object called ServerInstance, ilog() takes an InspIRCd object as first param. TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Bail if we couldn't bind any ports (when did this get broken?)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4774 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19Add #include <sys/select.h> to select engine, we probably need itbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4443 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19* Seperate out socket engines into derived classes of SocketEngine.brain
* Add a classfactory SocketEngineFactory to create a new socketengine of the configured type * Implement configure hax to compile only the required socketengine and the base class * Eliminates ugly defines, and is more in line with C++ ways git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4439 e03df62e-2008-0410-955e-edbf42e46eb7