]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/filelogger.cpp
Pro tip: printf() doesn't add newlines for you
[user/henk/code/inspircd.git] / src / filelogger.cpp
index 244b627174ddf8064fdcdff7a2859383bd358544..e22b4fdf4729a17c1e95e87e846b0562605e6409 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -11,8 +11,9 @@
  * ---------------------------------------------------
  */
 
+/* $Core: libIRCDfilelogger */
+
 #include "inspircd.h"
-#include <sstream>
 #include <fstream>
 #include "socketengine.h"
 #include "inspircd_se_config.h"
@@ -23,7 +24,7 @@ FileLogger::FileLogger(InspIRCd* Instance, FILE* logfile)
 {
        if (log)
        {
-               irc::sockets::NonBlocking(fileno(log));
+               Instance->SE->NonBlocking(fileno(log));
                SetFd(fileno(log));
                buffer.clear();
        }
@@ -34,7 +35,7 @@ bool FileLogger::Readable()
        return false;
 }
     
-void FileLogger::HandleEvent(EventType et, int errornum)
+void FileLogger::HandleEvent(EventType, int)
 {
        WriteLogLine("");
        if (log)
@@ -79,13 +80,8 @@ void FileLogger::Close()
 {
        if (log)
        {
-               /* Burlex: Windows assumes nonblocking on FILE* pointers anyway, and also "file" fd's aren't the same
-                * as socket fd's.
-                */
-#ifndef WIN32
-               int flags = fcntl(fileno(log), F_GETFL, 0);
-               fcntl(fileno(log), F_SETFL, flags ^ O_NONBLOCK);
-#endif
+               ServerInstance->SE->Blocking(fileno(log));
+
                if (buffer.size())
                        fprintf(log,"%s",buffer.c_str());