diff options
author | Leah Neukirchen <leah@vuxu.org> | 2024-02-07 14:34:34 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2024-02-07 14:34:34 +0100 |
commit | 17db992bc5493cc1e7175a7d7c2dd4ca031b00cf (patch) | |
tree | f64e56564fe8c95d578a88df937b638660c1abfd | |
parent | b90a6de0b51b60b3c5cf9ae9e3163131f7491807 (diff) | |
download | nitro-17db992bc5493cc1e7175a7d7c2dd4ca031b00cf.tar.gz nitro-17db992bc5493cc1e7175a7d7c2dd4ca031b00cf.tar.xz nitro-17db992bc5493cc1e7175a7d7c2dd4ca031b00cf.zip |
check max services
This needs to be handled more gracefully of course.
-rw-r--r-- | nitro.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/nitro.c b/nitro.c index bdca361..31e4186 100644 --- a/nitro.c +++ b/nitro.c @@ -77,6 +77,9 @@ enum process_events { // EVNT_DIED, health check failed }; +/* max fd usage: 256 services with 256 loggers = 512 fd for logpipes + const. */ +#define MAXSV 512 + struct service { char name[64]; deadline startstop; @@ -90,7 +93,7 @@ struct service { enum process_state state; char seen; char islog; -} services[512]; +} services[MAXSV]; int max_service = 0; int controlsock; @@ -818,6 +821,8 @@ add_service(const char *name) if (i == max_service) { max_service++; + if (max_service >= MAXSV) + assert(!"out of services, nyi"); strcpy(services[i].name, name); services[i].pid = 0; |