Hi Leo, Leo Famulari skribis: > On Fri, Jun 28, 2019 at 01:24:01PM -0400, Leo Famulari wrote: >> So, I suggest we add a 1 second timeout to this read. >> >> I can work on that next week. > > I did try working on this, after reading the code in (guix scripts > offload (call-with-timeout)). The ‘start’ method of the ‘urandom-seed’ Shepherd service runs in PID 1, so we certainly don’t want to fiddle with SIGALRM in that context, which is what ‘call-with-timeout’ does. Instead, I think we should use ‘select’ with a timeout: (call-with-input-file "/dev/hwrng" (lambda (port) (match (select (list port) '() '() 3) …))) I think we can then use ‘get-bytevector-n!’, assuming it doesn’t block if less than COUNT bytes are available (I’m not sure this is the case.) HTH! Ludo’.