From 937653bc0dbcdf8ee7227b3fc32f4178a527849d Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 18 May 2018 17:09:46 +0200 Subject: [PATCH] LIVE_BANDWIDTH trigger readability improvement, triggers no longer block stderr. --- lib/triggers.cpp | 7 ++----- src/input/input_buffer.cpp | 4 +++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/triggers.cpp b/lib/triggers.cpp index fc6d5100..926769b1 100644 --- a/lib/triggers.cpp +++ b/lib/triggers.cpp @@ -49,14 +49,13 @@ namespace Triggers{ }else{// send payload to stdin of newly forked process int fdIn = -1; int fdOut = -1; - int fdErr = -1; char *argv[3]; argv[0] = (char *)value.c_str(); argv[1] = (char *)trigger.c_str(); argv[2] = NULL; - pid_t myProc = Util::Procs::StartPiped(argv, &fdIn, &fdOut, &fdErr); // start new process and return stdin file desc. - if (fdIn == -1 || fdOut == -1 || fdErr == -1){// verify fdIn + pid_t myProc = Util::Procs::StartPiped(argv, &fdIn, &fdOut, 0); // start new process and return stdin file desc. + if (fdIn == -1 || fdOut == -1){// verify fdIn FAIL_MSG("StartPiped returned invalid fd"); return defaultResponse; } @@ -88,7 +87,6 @@ namespace Triggers{ fclose(outFile); free(fileBuf); close(fdOut); - close(fdErr); if (counter >= 150){ WARN_MSG("Using default trigger response: %s", defaultResponse.c_str()); return defaultResponse; @@ -96,7 +94,6 @@ namespace Triggers{ return ret; } close(fdOut); - close(fdErr); return defaultResponse; } } diff --git a/src/input/input_buffer.cpp b/src/input/input_buffer.cpp index 4056f7d6..aa898d86 100644 --- a/src/input/input_buffer.cpp +++ b/src/input/input_buffer.cpp @@ -296,7 +296,9 @@ namespace Mist { if (currBPS != lastBPS){ lastBPS = currBPS; 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)){ WARN_MSG("Shutting down buffer because bandwidth limit reached!"); config->is_active = false;