// so we need to set the working directory again\r
int rval=chdir(m_workingdirectory.c_str());\r
\r
- if(m_displayhelp)\r
+ if(VerifyDB()==false)\r
+ {\r
+ std::cout << "The FMS database failed verification. It is most likely corrupt!" << std::endl;\r
+ logger().fatal("The FMS database failed verification. It is most likely corrupt!");\r
+ }\r
+ else if(m_displayhelp)\r
{\r
}\r
else if(m_showoptions)\r
else\r
{\r
logger().information("FMS startup v"FMS_VERSION);\r
+ logger().information("Using SQLite "SQLITE_VERSION);\r
+\r
+ std::string tempval="";\r
+ Option::Instance()->Get("VacuumOnStartup",tempval);\r
+ if(tempval=="true")\r
+ {\r
+ logger().information("VACUUMing database");\r
+ SQLite3DB::DB::Instance()->Execute("VACUUM;");\r
+ }\r
\r
StartThreads();\r
\r
{\r
logger().trace("FMSApp::StartThreads starting HTTPThread");\r
m_threads.Start(new HTTPThread());\r
+ if(isInteractive())\r
+ {\r
+ std::cout << "Started HTTP Thread" << std::endl;\r
+ }\r
}\r
else\r
{\r
{\r
logger().trace("FMSApp::StartThreads starting NNTPListener");\r
m_threads.Start(new NNTPListener());\r
+ if(isInteractive())\r
+ {\r
+ std::cout << "Started NNTP Thread" << std::endl;\r
+ }\r
}\r
else\r
{\r
{\r
logger().trace("FMSApp::StartThreads starting FreenetMasterThread");\r
m_threads.Start(new FreenetMasterThread());\r
+ if(isInteractive())\r
+ {\r
+ std::cout << "Started Freenet FCP Thread" << std::endl;\r
+ }\r
}\r
else\r
{\r