LIVE_BANDWIDTH trigger readability improvement, triggers no longer block stderr.

This commit is contained in:
Thulinma 2018-05-18 17:09:46 +02:00
parent 3947fceeed
commit 937653bc0d
2 changed files with 5 additions and 6 deletions

View file

@ -49,14 +49,13 @@ namespace Triggers{
}else{// send payload to stdin of newly forked process }else{// send payload to stdin of newly forked process
int fdIn = -1; int fdIn = -1;
int fdOut = -1; int fdOut = -1;
int fdErr = -1;
char *argv[3]; char *argv[3];
argv[0] = (char *)value.c_str(); argv[0] = (char *)value.c_str();
argv[1] = (char *)trigger.c_str(); argv[1] = (char *)trigger.c_str();
argv[2] = NULL; argv[2] = NULL;
pid_t myProc = Util::Procs::StartPiped(argv, &fdIn, &fdOut, &fdErr); // start new process and return stdin file desc. pid_t myProc = Util::Procs::StartPiped(argv, &fdIn, &fdOut, 0); // start new process and return stdin file desc.
if (fdIn == -1 || fdOut == -1 || fdErr == -1){// verify fdIn if (fdIn == -1 || fdOut == -1){// verify fdIn
FAIL_MSG("StartPiped returned invalid fd"); FAIL_MSG("StartPiped returned invalid fd");
return defaultResponse; return defaultResponse;
} }
@ -88,7 +87,6 @@ namespace Triggers{
fclose(outFile); fclose(outFile);
free(fileBuf); free(fileBuf);
close(fdOut); close(fdOut);
close(fdErr);
if (counter >= 150){ if (counter >= 150){
WARN_MSG("Using default trigger response: %s", defaultResponse.c_str()); WARN_MSG("Using default trigger response: %s", defaultResponse.c_str());
return defaultResponse; return defaultResponse;
@ -96,7 +94,6 @@ namespace Triggers{
return ret; return ret;
} }
close(fdOut); close(fdOut);
close(fdErr);
return defaultResponse; return defaultResponse;
} }
} }

View file

@ -296,7 +296,9 @@ namespace Mist {
if (currBPS != lastBPS){ if (currBPS != lastBPS){
lastBPS = currBPS; lastBPS = currBPS;
if (Triggers::shouldTrigger("LIVE_BANDWIDTH", streamName, liveBW, &lastBPS)){ if (Triggers::shouldTrigger("LIVE_BANDWIDTH", streamName, liveBW, &lastBPS)){
std::string payload = streamName + "\n" + JSON::Value((long long)lastBPS).asStringRef(); std::stringstream pl;
pl << streamName << "\n" << lastBPS;
std::string payload = pl.str();
if (!Triggers::doTrigger("LIVE_BANDWIDTH", payload, streamName)){ if (!Triggers::doTrigger("LIVE_BANDWIDTH", payload, streamName)){
WARN_MSG("Shutting down buffer because bandwidth limit reached!"); WARN_MSG("Shutting down buffer because bandwidth limit reached!");
config->is_active = false; config->is_active = false;