summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-06-02 22:21:55 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-06-02 22:21:55 +0000
commit6cf3fc6b36e2046c36b729530117572ba44aafd7 (patch)
tree5dba5db873d470d2fb1dd60d1a037dd3806c6a5d /src/inspircd.cpp
parent433837b847cd462b8fcf76da4b11772add35bf8e (diff)
Change the behaviour of insp in windows to keep its window open, with some 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
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp36
1 files changed, 15 insertions, 21 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 7066385ef..9e1d753b3 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -386,12 +386,12 @@ InspIRCd::InspIRCd(int argc, char** argv)
struct option longopts[] =
{
- { "nofork", no_argument, &do_nofork, 1 },
- { "logfile", required_argument, NULL, 'f' },
- { "config", required_argument, NULL, 'c' },
- { "debug", no_argument, &do_debug, 1 },
- { "nolog", no_argument, &do_nolog, 1 },
- { "runasroot", no_argument, &do_root, 1 },
+ { "nofork", no_argument, &do_nofork, 1 },
+ { "logfile", required_argument, NULL, 'f' },
+ { "config", required_argument, NULL, 'c' },
+ { "debug", no_argument, &do_debug, 1 },
+ { "nolog", no_argument, &do_nolog, 1 },
+ { "runasroot", no_argument, &do_root, 1 },
{ "version", no_argument, &do_version, 1 },
{ 0, 0, 0, 0 }
};
@@ -557,14 +557,8 @@ InspIRCd::InspIRCd(int argc, char** argv)
this->WritePID(Config->PID);
#ifdef WINDOWS
- InitIPC();
-
+ InitIPC();
g_starting = false;
-
- // remove the console if in no-fork
- if(!Config->nofork)
- FreeConsole();
-
#endif
}
@@ -985,14 +979,11 @@ void InspIRCd::DoOneIteration(bool process_module_sockets)
#else
CheckIPC(this);
- if(Config->nofork)
- {
- uptime = Time() - startup_time;
- stime = gmtime(&uptime);
- snprintf(window_title, 100, "InspIRCd - %u clients, %u accepted connections - Up %u days, %.2u:%.2u:%.2u",
- LocalUserCount(), stats->statsAccept, stime->tm_yday, stime->tm_hour, stime->tm_min, stime->tm_sec);
- SetConsoleTitle(window_title);
- }
+ uptime = Time() - startup_time;
+ stime = gmtime(&uptime);
+ snprintf(window_title, 100, "InspIRCd - %u clients, %u accepted connections - Up %u days, %.2u:%.2u:%.2u",
+ LocalUserCount(), stats->statsAccept, stime->tm_yday, stime->tm_hour, stime->tm_min, stime->tm_sec);
+ SetConsoleTitle(window_title);
#endif
}
@@ -1036,6 +1027,9 @@ int InspIRCd::Run()
int main(int argc, char** argv)
{
+#ifdef WINDOWS
+ ClearConsole();
+#endif
SI = new InspIRCd(argc, argv);
SI->Run();
delete SI;