diff --git a/engine/server/application/CommoditiesServer/src/linux/main.cpp b/engine/server/application/CommoditiesServer/src/linux/main.cpp index 1b4bda37..ed2f1c1d 100755 --- a/engine/server/application/CommoditiesServer/src/linux/main.cpp +++ b/engine/server/application/CommoditiesServer/src/linux/main.cpp @@ -28,8 +28,17 @@ #include "LocalizationManager.h" #include "UnicodeUtils.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + inline void signalHandler(int s){ printf("CommoditiesServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -86,6 +95,10 @@ int main(int argc, char ** argv) SetupSharedFoundation::remove(); SetupSharedThread::remove(); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; } diff --git a/engine/server/application/ConnectionServer/src/linux/ConnectionServer.profdata b/engine/server/application/ConnectionServer/src/linux/ConnectionServer.profdata index 29282771..d5263019 100644 Binary files a/engine/server/application/ConnectionServer/src/linux/ConnectionServer.profdata and b/engine/server/application/ConnectionServer/src/linux/ConnectionServer.profdata differ diff --git a/engine/server/application/ConnectionServer/src/linux/main.cpp b/engine/server/application/ConnectionServer/src/linux/main.cpp index 912d7b23..5f37bbd5 100755 --- a/engine/server/application/ConnectionServer/src/linux/main.cpp +++ b/engine/server/application/ConnectionServer/src/linux/main.cpp @@ -14,8 +14,17 @@ #include "sharedRandom/SetupSharedRandom.h" #include "sharedThread/SetupSharedThread.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + inline void signalHandler(int s){ printf("ConnectionServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -66,6 +75,10 @@ int main(int argc, char ** argv) NetworkHandler::remove(); SetupSharedFoundation::remove(); SetupSharedThread::remove(); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif return 0; } diff --git a/engine/server/application/LogServer/src/linux/main.cpp b/engine/server/application/LogServer/src/linux/main.cpp index a25bec20..881b19aa 100755 --- a/engine/server/application/LogServer/src/linux/main.cpp +++ b/engine/server/application/LogServer/src/linux/main.cpp @@ -20,17 +20,25 @@ #include "sharedThread/SetupSharedThread.h" #ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + + inline void signalHandler(int s){ printf("LogServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } -#endif // ====================================================================== int main(int argc, char **argv) { - struct sigaction sigIntHandler; + struct sigaction sigIntHandler; sigIntHandler.sa_handler = signalHandler; sigemptyset(&sigIntHandler.sa_mask); sigIntHandler.sa_flags = 0; @@ -62,6 +70,10 @@ int main(int argc, char **argv) SetupSharedFoundation::remove(); SetupSharedThread::remove(); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; } diff --git a/engine/server/application/LoginServer/src/linux/LoginServer.profdata b/engine/server/application/LoginServer/src/linux/LoginServer.profdata index 296b1ffe..98e7f8fe 100644 Binary files a/engine/server/application/LoginServer/src/linux/LoginServer.profdata and b/engine/server/application/LoginServer/src/linux/LoginServer.profdata differ diff --git a/engine/server/application/LoginServer/src/linux/main.cpp b/engine/server/application/LoginServer/src/linux/main.cpp index 7c31ca84..f9c64bc0 100755 --- a/engine/server/application/LoginServer/src/linux/main.cpp +++ b/engine/server/application/LoginServer/src/linux/main.cpp @@ -14,10 +14,19 @@ #include "sharedRandom/SetupSharedRandom.h" #include "sharedThread/SetupSharedThread.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + // ====================================================================== inline void signalHandler(int s){ printf("LoginServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -56,5 +65,9 @@ int main(int argc, char **argv) { SetupSharedFoundation::callbackWithExceptionHandling(LoginServer::run); SetupSharedFoundation::remove(); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; } diff --git a/engine/server/application/PlanetServer/src/linux/PlanetServer.profdata b/engine/server/application/PlanetServer/src/linux/PlanetServer.profdata index 9ae349d2..e3f0adb7 100644 Binary files a/engine/server/application/PlanetServer/src/linux/PlanetServer.profdata and b/engine/server/application/PlanetServer/src/linux/PlanetServer.profdata differ diff --git a/engine/server/application/PlanetServer/src/linux/main.cpp b/engine/server/application/PlanetServer/src/linux/main.cpp index 52ee1b0b..8ae07010 100755 --- a/engine/server/application/PlanetServer/src/linux/main.cpp +++ b/engine/server/application/PlanetServer/src/linux/main.cpp @@ -16,8 +16,17 @@ #include "sharedThread/SetupSharedThread.h" #include "sharedUtility/SetupSharedUtility.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + inline void signalHandler(int s){ printf("PlanetServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -79,5 +88,9 @@ int main(int argc, char ** argv) SetupSharedFoundation::remove(); SetupSharedThread::remove(); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; } diff --git a/engine/server/application/TaskManager/src/linux/main.cpp b/engine/server/application/TaskManager/src/linux/main.cpp index f493ac95..01eb40b7 100755 --- a/engine/server/application/TaskManager/src/linux/main.cpp +++ b/engine/server/application/TaskManager/src/linux/main.cpp @@ -15,8 +15,17 @@ #include "sharedRandom/SetupSharedRandom.h" #include "sharedThread/SetupSharedThread.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + inline void signalHandler(int s){ printf("TaskManager terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -24,7 +33,7 @@ inline void signalHandler(int s){ int main(int argc, char ** argv) { - struct sigaction sigIntHandler; + struct sigaction sigIntHandler; sigIntHandler.sa_handler = signalHandler; sigemptyset(&sigIntHandler.sa_mask); sigIntHandler.sa_flags = 0; @@ -54,5 +63,9 @@ int main(int argc, char ** argv) TaskManager::remove(); SetupSharedFoundation::remove(); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; } diff --git a/game/server/application/SwgDatabaseServer/src/linux/main.cpp b/game/server/application/SwgDatabaseServer/src/linux/main.cpp index e735f624..d821a03a 100755 --- a/game/server/application/SwgDatabaseServer/src/linux/main.cpp +++ b/game/server/application/SwgDatabaseServer/src/linux/main.cpp @@ -21,8 +21,17 @@ #include "swgSharedNetworkMessages/SetupSwgSharedNetworkMessages.h" #include "swgServerNetworkMessages/SetupSwgServerNetworkMessages.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + inline void signalHandler(int s){ printf("SwgDatabaseServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -85,5 +94,9 @@ int main(int argc, char ** argv) SetupSharedFoundation::remove(); SetupSharedThread::remove(); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; } diff --git a/game/server/application/SwgGameServer/src/linux/main.cpp b/game/server/application/SwgGameServer/src/linux/main.cpp index 6001bf40..2cbf630c 100755 --- a/game/server/application/SwgGameServer/src/linux/main.cpp +++ b/game/server/application/SwgGameServer/src/linux/main.cpp @@ -34,8 +34,18 @@ #include "swgSharedNetworkMessages/SetupSwgSharedNetworkMessages.h" #include "swgServerNetworkMessages/SetupSwgServerNetworkMessages.h" +#ifdef ENABLE_PROFILING +extern "C" int __llvm_profile_write_file(void); +#endif + + inline void signalHandler(int s){ printf("LoginServer terminating, signal %d\n",s); + +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + exit(0); } @@ -148,6 +158,10 @@ int main(int argc, char ** argv) SetupSharedFoundation::remove(); SetupSharedThread::remove (); +#ifdef ENABLE_PROFILING + __llvm_profile_write_file(); +#endif + return 0; }