summaryrefslogtreecommitdiff
path: root/src/socketengine_iocp.cpp
AgeCommit message (Collapse)Author
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-09-23Test from vista laptopbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8052 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-04* Fixed some incorrect declarations in IOCPEngineburlex
* Fixed the virtual socket wrapper functions in IOCPEngine {these should really be inlined on unix} * Fixed several compilation issues under Win32 * Fixed calls to close() which should've been changed to SE->Close() + Added a crashdump saving system to Win32 builds. Dumps are saved in the format of dump-<exename>-<year>-<month>-<day>-<hour>-<minute>-<second>.dmp in the working directory. Enabled by default, undefine ENABLE_CRASHDUMPS to disable. + Added m_operflood, this is a module I've had lying around for some time but some users may like it as it allows unreal-like behaviour without increasing flood limits for non-opers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8015 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Move the close() wrapper out of the win32wrapper.h, and into its new proper ↵brain
place at SocketEngine::Close() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7812 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Craquity craq De-craq!brain
This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight. --- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick). All this to eliminate a bunch of ifdefs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Move WSACleanup() into IOCPEngine destructor, eliminating an "#ifdef WIN32" ↵brain
from inspircd.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7807 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-15This is now correct.brain
No win32 #ifdefs in the base class, being as IOCPEngine is only built on windows we can put the code here without the need for ifdef. The original check in socketengine_iocp was broken, copied burlex's fixed version into the child class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7724 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27Windows specific data types in EventHandler are now Extensible itemsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7599 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27Some smart tricks to eliminate win32 ifdefs that are creeping into portable ↵brain
files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Un-static InspIRCd::Exit and use SignalHandler instead.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23A couple of tweaks that i did earlier as diffs. ISON didnt always respect ↵brain
invisibility state of users. socketengine iocp didnt range check fd's before passing them for array lookup git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7502 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23* Sockets will now always be nonblocking on win32 version of InspIRCd. There ↵burlex
were some cases (mainly in TreeSockets) where a socket would not get restored to nonblocking mode after a connect() call, resulting in the server getting stuck on a blocking send() call causing freezeups. * configure will now compile under VC7 again. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7500 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-21I broke socketengine_iocp with some fixes. Fixed again.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7488 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-19Whoops, someone forgot to check the return value when initializing windows IOCPbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7476 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-17Validation checks that seem to have been omitted here.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7469 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-06-14Whack a ^Mbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7319 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14- Made the recvfrom wrapper a bit neater.burlex
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7314 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14- Fixed UDP Overlapped I/O under windows. (not the best way this could be ↵burlex
done by far, but probably the best that is possible with our EventHandler setup). *dns will now work under win32* :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7313 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-13* Fixed IOCPEngine under x64 (because of incorrect pointer sizes)burlex
- Fixed configure / VC8 projects for x64 compiling. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7293 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-02Change the behaviour of insp in windows to keep its window open, with some ↵brain
status text in the title bar. It also clears the screen now on startup, see the wrapper for what a nasty amount of code it is to do such a simple thing to a windows console :( Also, add somewhat of a hack to cut down on allocation time taken to map windows fd to a posix style fd in iocp engine. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7217 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-29All the other socketengines have a 1s wait on their 'poll' equivalent. ↵brain
GetQueuedCompletionStatus had a delay of 100ms. Upped to 1s to be more sane and more in line with the other socket engines. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7185 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-25Tidy up to coding stylebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7139 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-20try...catch around the map::insert in AddFd, for some reason it throws ↵brain
sometimes. If it does, we return false, which the core can handle neatly as 'failed to add fd' git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7065 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-20Remove asserts and convert to unix line endingsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7064 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Helps if I add the w32 specific code, too. :pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7044 e03df62e-2008-0410-955e-edbf42e46eb7