talos-extensions/power/nut-client/patches/replace_system.patch
Andrey Smirnov c08262d8b2
feat: update gcc to 14.2, bump NVIDIA driver versions
Bump NVIDIA driver versions to match the `pkgs`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-07 15:27:15 +04:00

43 lines
998 B
Diff

--- a/clients/upsmon.c 2022-04-23 04:56:06.000000000 -0700
+++ b/clients/upsmon.c 2022-09-04 13:21:28.072170502 -0700
@@ -26,6 +26,7 @@
#include <sys/socket.h>
#include <unistd.h>
#include <fcntl.h>
+#include <spawn.h>
#else
#include <wincompat.h>
#endif
@@ -1874,6 +1875,22 @@
static void runparent(int fd)
__attribute__((noreturn));
+static int runcmd(const char *cmd)
+{
+ // TODO: Support tokenizing `cmd`.
+ const char *argv[] = {cmd, NULL};
+ const char *env[] = {NULL};
+
+ pid_t pid = 0;
+ int sret = posix_spawn(&pid, cmd, NULL, NULL, (char * const *)(argv), (char * const *)(env));
+ if (sret != 0)
+ return -1;
+
+ int status;
+ waitpid(pid, &status, 0);
+ return WEXITSTATUS(status);
+}
+
static void runparent(int fd)
{
ssize_t ret;
@@ -1907,7 +1925,7 @@
/* have to do this here - child is unprivileged */
set_pdflag();
- sret = system(shutdowncmd);
+ sret = runcmd(shutdowncmd);
if (sret != 0)
upslogx(LOG_ERR, "parent: Unable to call shutdown command: %s",