diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 697b9395c29386fb195267cea0689c4e81b9596c..d5744204d9dbb355d393a9e18ff0e5cbf0b2422f 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -851,10 +851,10 @@ (define requirement (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 9ec7e8b4a9277a1631503a1fbba98c77de4c7fa1..3585bf27a87a03163babdee3bc587dac0195b32e 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -218,7 +218,7 @@ (define swapoff (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)))))))