X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4c346b97338163448e1a684bd1b5d53271f34cd6..6f32961aa7316bf314ff18f3bc74d77a73c081ca:/projects/stargazer/plugins/other/rscript/rscript.cpp?ds=inline diff --git a/projects/stargazer/plugins/other/rscript/rscript.cpp b/projects/stargazer/plugins/other/rscript/rscript.cpp index 6fde814a..3a557a30 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.cpp +++ b/projects/stargazer/plugins/other/rscript/rscript.cpp @@ -157,13 +157,6 @@ if (nrMapParser.ReadFile(subnetFile)) netRouters = nrMapParser.GetMap(); -if (netRouters.empty()) - { - errorStr = "Parameter(s) \'Subnet*\' not found."; - printfd(__FILE__, "Parameter(s) 'Subnet*' not found\n"); - return -1; - } - return 0; } //----------------------------------------------------------------------------- @@ -198,6 +191,10 @@ pthread_mutex_destroy(&mutex); //----------------------------------------------------------------------------- void * REMOTE_SCRIPT::Run(void * d) { +sigset_t signalSet; +sigfillset(&signalSet); +pthread_sigmask(SIG_BLOCK, &signalSet, NULL); + REMOTE_SCRIPT * rs = static_cast(d); rs->isRunning = true; @@ -282,25 +279,17 @@ if (isRunning) //5 seconds to thread stops itself for (int i = 0; i < 25 && isRunning; i++) { - usleep(200000); - } - - //after 5 seconds waiting thread still running. now killing it - if (isRunning) - { - if (pthread_kill(thread, SIGINT)) - { - errorStr = "Cannot kill thread."; - printfd(__FILE__, "Cannot kill thread\n"); - return -1; - } - printfd(__FILE__, "REMOTE_SCRIPT killed Run\n"); + struct timespec ts = {0, 200000000}; + nanosleep(&ts, NULL); } } users->DelNotifierUserDel(&onDelUserNotifier); users->DelNotifierUserAdd(&onAddUserNotifier); +if (isRunning) + return -1; + return 0; } //-----------------------------------------------------------------------------