diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 697b9395c2..d5744204d9 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -851,10 +851,10 @@ gexp, to open it, and evaluate @var{close} to close it." (requirement `(udev ,@requirement)) (documentation "Enable the given swap device.") (start #~(lambda () - (swapon #$device) + (restart-on-EINTR (swapon #$device)) #t)) (stop #~(lambda _ - (swapoff #$device) + (restart-on-EINTR (swapoff #$device)) #f)) (respawn? #f))))) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 9ec7e8b4a9..3585bf27a8 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -218,7 +218,7 @@ constants from ." (let ((ret (proc (string->pointer device))) (err (errno))) (unless (zero? ret) - (throw 'system-error "swapff" "~S: ~A" + (throw 'system-error "swapoff" "~S: ~A" (list device (strerror err)) (list err)))))))