|
|
@ -56,7 +56,7 @@ |
|
|
|
#include "driver-avalon.h" |
|
|
|
#include "driver-avalon.h" |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
#include <errno.h> |
|
|
|
#include <errno.h> |
|
|
|
#include <fcntl.h> |
|
|
|
#include <fcntl.h> |
|
|
|
#include <sys/wait.h> |
|
|
|
#include <sys/wait.h> |
|
|
@ -287,7 +287,7 @@ static int include_count; |
|
|
|
#define JSON_MAX_DEPTH 10 |
|
|
|
#define JSON_MAX_DEPTH 10 |
|
|
|
#define JSON_MAX_DEPTH_ERR "Too many levels of JSON includes (limit 10) or a loop" |
|
|
|
#define JSON_MAX_DEPTH_ERR "Too many levels of JSON includes (limit 10) or a loop" |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
static char *opt_stderr_cmd = NULL; |
|
|
|
static char *opt_stderr_cmd = NULL; |
|
|
|
static int forkpid; |
|
|
|
static int forkpid; |
|
|
|
#endif // defined(unix)
|
|
|
|
#endif // defined(unix)
|
|
|
@ -1057,7 +1057,7 @@ static struct opt_table opt_config_table[] = { |
|
|
|
OPT_WITHOUT_ARG("--lowmem", |
|
|
|
OPT_WITHOUT_ARG("--lowmem", |
|
|
|
opt_set_bool, &opt_lowmem, |
|
|
|
opt_set_bool, &opt_lowmem, |
|
|
|
"Minimise caching of shares for low memory applications"), |
|
|
|
"Minimise caching of shares for low memory applications"), |
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
OPT_WITH_ARG("--monitor|-m", |
|
|
|
OPT_WITH_ARG("--monitor|-m", |
|
|
|
opt_set_charp, NULL, &opt_stderr_cmd, |
|
|
|
opt_set_charp, NULL, &opt_stderr_cmd, |
|
|
|
"Use custom pipe cmd for output messages"), |
|
|
|
"Use custom pipe cmd for output messages"), |
|
|
@ -2965,7 +2965,7 @@ void app_restart(void) |
|
|
|
__kill_work(); |
|
|
|
__kill_work(); |
|
|
|
clean_up(); |
|
|
|
clean_up(); |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
if (forkpid > 0) { |
|
|
|
if (forkpid > 0) { |
|
|
|
kill(forkpid, SIGTERM); |
|
|
|
kill(forkpid, SIGTERM); |
|
|
|
forkpid = 0; |
|
|
|
forkpid = 0; |
|
|
@ -4061,7 +4061,7 @@ void write_config(FILE *fcfg) |
|
|
|
fputs(",\n\"round-robin\" : true", fcfg); |
|
|
|
fputs(",\n\"round-robin\" : true", fcfg); |
|
|
|
if (pool_strategy == POOL_ROTATE) |
|
|
|
if (pool_strategy == POOL_ROTATE) |
|
|
|
fprintf(fcfg, ",\n\"rotate\" : \"%d\"", opt_rotate_period); |
|
|
|
fprintf(fcfg, ",\n\"rotate\" : \"%d\"", opt_rotate_period); |
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
if (opt_stderr_cmd && *opt_stderr_cmd) |
|
|
|
if (opt_stderr_cmd && *opt_stderr_cmd) |
|
|
|
fprintf(fcfg, ",\n\"monitor\" : \"%s\"", json_escape(opt_stderr_cmd)); |
|
|
|
fprintf(fcfg, ",\n\"monitor\" : \"%s\"", json_escape(opt_stderr_cmd)); |
|
|
|
#endif // defined(unix)
|
|
|
|
#endif // defined(unix)
|
|
|
@ -4439,7 +4439,7 @@ void default_save_file(char *filename) |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
if (getenv("HOME") && *getenv("HOME")) { |
|
|
|
if (getenv("HOME") && *getenv("HOME")) { |
|
|
|
strcpy(filename, getenv("HOME")); |
|
|
|
strcpy(filename, getenv("HOME")); |
|
|
|
strcat(filename, "/"); |
|
|
|
strcat(filename, "/"); |
|
|
@ -6734,7 +6734,7 @@ void quit(int status, const char *format, ...) |
|
|
|
|
|
|
|
|
|
|
|
clean_up(); |
|
|
|
clean_up(); |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
if (forkpid > 0) { |
|
|
|
if (forkpid > 0) { |
|
|
|
kill(forkpid, SIGTERM); |
|
|
|
kill(forkpid, SIGTERM); |
|
|
|
forkpid = 0; |
|
|
|
forkpid = 0; |
|
|
@ -6875,7 +6875,7 @@ out: |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
static void fork_monitor() |
|
|
|
static void fork_monitor() |
|
|
|
{ |
|
|
|
{ |
|
|
|
// Make a pipe: [readFD, writeFD]
|
|
|
|
// Make a pipe: [readFD, writeFD]
|
|
|
@ -7603,7 +7603,7 @@ int main(int argc, char *argv[]) |
|
|
|
openlog(PACKAGE, LOG_PID, LOG_USER); |
|
|
|
openlog(PACKAGE, LOG_PID, LOG_USER); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if defined(unix) |
|
|
|
#if defined(unix) || defined(__APPLE__) |
|
|
|
if (opt_stderr_cmd) |
|
|
|
if (opt_stderr_cmd) |
|
|
|
fork_monitor(); |
|
|
|
fork_monitor(); |
|
|
|
#endif // defined(unix)
|
|
|
|
#endif // defined(unix)
|
|
|
|