summaryrefslogtreecommitdiff
path: root/src/socketengine_select.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Patch fixing select to handle read/write events at the same time, from Skip ↵Gravatar w00t2009-01-311-25/+20
| | | | | | (austnet). Related to bug #634. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@11019 e03df62e-2008-0410-955e-edbf42e46eb7
* Revert this fileGravatar w00t2008-08-241-14/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@10243 e03df62e-2008-0410-955e-edbf42e46eb7
* Add poll() socket engine. Nothing will actually use this, yet, and it's ↵Gravatar w00t2008-08-241-0/+14
| | | | | | untested.. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@10242 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix problem noted by psychon: man getsockopt() states that 'optlen is a ↵Gravatar w00t2008-08-231-1/+1
| | | | | | value-result parameter, initially containing the size of the buffer pointed to by optval'. This has just been working by luck that the uninitialised memory was always greater than or equal to sizeof(int).. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@10234 e03df62e-2008-0410-955e-edbf42e46eb7
* Set FD_SETSIZE to 12000, this allows 12000 users per ircd rather than 64. I ↵Gravatar brain2008-02-101-1/+1
| | | | | | doubt select can scale this high, but 64 is rediculous. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8889 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit stuff from fez that he couldnt get committed - fixes to make ↵Gravatar brain2008-02-101-1/+3
| | | | | | socketengine-select work in windows (should be more stable than iocp as the api is known to us unix devs) git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8888 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8695 e03df62e-2008-0410-955e-edbf42e46eb7
* Forgot to commit the fix for thisGravatar brain2007-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8279 e03df62e-2008-0410-955e-edbf42e46eb7
* Change how the socket engines work when you addfd on an fd that already exists.Gravatar brain2007-10-211-1/+1
| | | | | | | the only SANE outcome is that youve forgotten to DelFd, so it does this for you. git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8270 e03df62e-2008-0410-955e-edbf42e46eb7
* Tweaks to icky icky select() engine (thanks Ersan) this MIGHT fix select ↵Gravatar brain2007-10-031-2/+1
| | | | | | | | | 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/branches/1_1_stable@8114 e03df62e-2008-0410-955e-edbf42e46eb7
* Backport fix for bug #407Gravatar brain2007-09-251-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8078 e03df62e-2008-0410-955e-edbf42e46eb7
* Backport fix for bug #393Gravatar brain2007-08-201-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7766 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+167
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-167/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* Crusade to remove debug from stable and tested parts of the core and base ↵Gravatar brain2007-01-151-9/+5
| | | | | | | | | | 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
* pgsql should now work thx to added posibility to force a fd out of the ↵Gravatar peavey2007-01-111-2/+2
| | | | | | 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
* Change delays to 1 sec.Gravatar brain2006-12-301-2/+2
| | | | | | | 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
* Tons of optimization of WriteChannel, WriteChannelWithServ, WriteCommon etc, ↵Gravatar brain2006-12-301-1/+0
| | | | | | | | | | 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
* We can't log in SocketEngine::DelFd(), because the fd we're removing might ↵Gravatar brain2006-12-231-5/+0
| | | | | | just be that of the logger! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6082 e03df62e-2008-0410-955e-edbf42e46eb7
* Jesus, look who's the commit whore today. More header updates, and removal ↵Gravatar w00t2006-12-151-5/+2
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed a typo in selectGravatar special2006-12-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5948 e03df62e-2008-0410-955e-edbf42e46eb7
* Untested, new clever pointer voodoo class for binary-safe ziplinks output ↵Gravatar brain2006-12-111-12/+16
| | | | | | | | | buffers PLUS: Fix for random epoll dispatchevents crashes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5926 e03df62e-2008-0410-955e-edbf42e46eb7
* A few lines here are loglevel DEFAULT and should be DEBUG.Gravatar brain2006-11-111-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5696 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a whoopsyGravatar brain2006-10-311-2/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5611 e03df62e-2008-0410-955e-edbf42e46eb7
* Error set handlin g for select socketengine, tidyup epollGravatar brain2006-10-311-2/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5609 e03df62e-2008-0410-955e-edbf42e46eb7
* Socket error state stuffGravatar brain2006-10-311-9/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove very verbose debugging of event systemGravatar brain2006-10-301-5/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5589 e03df62e-2008-0410-955e-edbf42e46eb7
* Select is now done, and some debug removed. Not that anyone really should be ↵Gravatar brain2006-10-301-7/+23
| | | | | | using select()... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5587 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix bug#152 reported by smartysGravatar brain2006-09-241-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5316 e03df62e-2008-0410-955e-edbf42e46eb7
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of SocketEngine::Wait and array-copy, change to ↵Gravatar brain2006-08-181-4/+19
| | | | | | SocketEngine::DispatchEvents git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4944 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-12/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Just to mess with om's head, remove helperfuncs.h from everywhereGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to using Instance->Log (InspIRCd::Log) rather than log() macroGravatar brain2006-08-111-8/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵Gravatar brain2006-08-111-1/+1
| | | | | | | | | 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
* Bail if we couldn't bind any ports (when did this get broken?)Gravatar brain2006-08-071-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4774 e03df62e-2008-0410-955e-edbf42e46eb7
* Add #include <sys/select.h> to select engine, we probably need itGravatar brain2006-07-191-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4443 e03df62e-2008-0410-955e-edbf42e46eb7
* * Seperate out socket engines into derived classes of SocketEngine.Gravatar brain2006-07-191-0/+131
* 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