]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_namedpipe.cpp
Add poll to build system if kqueue/epoll/ports are not used, above select.
[user/henk/code/inspircd.git] / win / inspircd_namedpipe.cpp
index 6c836cd6a83fb5dc862fb3dd401bebbda594005b..06649d103a6a453c4b08c3889791b85090de3d5f 100644 (file)
@@ -8,11 +8,13 @@
 \r
 IPCThread::IPCThread(InspIRCd* Instance) : Thread(), ServerInstance(Instance)\r
 {\r
+       if (!initwmi())\r
+               ServerInstance->Logs->Log("IPC", DEBUG, "Could not initialise WMI. CPU percantage reports will not be available.");\r
 }\r
 \r
 IPCThread::~IPCThread()\r
 {\r
-\r
+       donewmi();\r
 }\r
 \r
 void IPCThread::Run()\r
@@ -22,15 +24,15 @@ void IPCThread::Run()
        while (GetExitFlag() == false)\r
        {\r
                Pipe = CreateNamedPipe (Pipename,\r
-                                          PIPE_ACCESS_DUPLEX, // read/write access\r
-                                          PIPE_TYPE_MESSAGE | // message type pipe\r
-                                          PIPE_READMODE_MESSAGE | // message-read mode\r
-                                          PIPE_WAIT, // blocking mode\r
-                                          PIPE_UNLIMITED_INSTANCES, // max. instances\r
-                                          MAXBUF, // output buffer size\r
-                                          MAXBUF, // input buffer size\r
-                                          1000, // client time-out\r
-                                          NULL); // no security attribute\r
+                                       PIPE_ACCESS_DUPLEX, // read/write access\r
+                                        PIPE_TYPE_MESSAGE | // message type pipe\r
+                                        PIPE_READMODE_MESSAGE | // message-read mode\r
+                                        PIPE_WAIT, // blocking mode\r
+                                        PIPE_UNLIMITED_INSTANCES, // max. instances\r
+                                        MAXBUF, // output buffer size\r
+                                        MAXBUF, // input buffer size\r
+                                        1000, // client time-out\r
+                                        NULL); // no security attribute\r
 \r
                if (Pipe == INVALID_HANDLE_VALUE)\r
                {\r
@@ -84,6 +86,7 @@ void IPCThread::Run()
                        stat << "kbitspersecout " << kbitpersec_out << std::endl;\r
                        stat << "kbitspersecin " << kbitpersec_in << std::endl;\r
                        stat << "uptime " << ServerInstance->Time() - ServerInstance->startup_time << std::endl;\r
+                       stat << "cpu " << getcpu() << std::endl;\r
                        if (HaveMemoryStats)\r
                        {\r
                                stat << "workingset " << MemCounters.WorkingSetSize << std::endl;\r