]> git.ipfire.org Git - pakfire.git/commitdiff
jail: Use eventfd_read/write convenience handlers
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 2 Nov 2023 08:43:26 +0000 (08:43 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 2 Nov 2023 08:43:26 +0000 (08:43 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/jail.c

index f59d07d7ef9571ba9812eb6b6845843997121269..6273dd08a3640fb0938d78166aedfd962adb2cd7 100644 (file)
@@ -1575,10 +1575,10 @@ static int pakfire_jail_send_signal(struct pakfire_jail* jail, int fd) {
        DEBUG(jail->pakfire, "Sending signal...\n");
 
        // Write to the file descriptor
-       ssize_t bytes_written = write(fd, &val, sizeof(val));
-       if (bytes_written < 0 || (size_t)bytes_written < sizeof(val)) {
-               ERROR(jail->pakfire, "Could not send signal: %m\n");
-               r = 1;
+       r = eventfd_write(fd, val);
+       if (r < 0) {
+               ERROR(jail->pakfire, "Could not send signal: %s\n", strerror(errno));
+               r = -errno;
        }
 
        // Close the file descriptor
@@ -1593,10 +1593,10 @@ static int pakfire_jail_wait_for_signal(struct pakfire_jail* jail, int fd) {
 
        DEBUG(jail->pakfire, "Waiting for signal...\n");
 
-       ssize_t bytes_read = read(fd, &val, sizeof(val));
-       if (bytes_read < 0 || (size_t)bytes_read < sizeof(val)) {
-               ERROR(jail->pakfire, "Error waiting for signal: %m\n");
-               r = 1;
+       r = eventfd_read(fd, &val);
+       if (r < 0) {
+               ERROR(jail->pakfire, "Error waiting for signal: %s\n", strerror(errno));
+               r = -errno;
        }
 
        // Close the file descriptor