Maxim Cournoyer <[email protected]> skribis: > [email protected] (Ludovic Courtès) writes: > >> Maxim Cournoyer <[email protected]> skribis: >> >>> Guix build doesn't come with default option value for the >>> max-silent-time, but guix environment does, and it is set to 3600 >>> s. This is defined under (guix scripts environment): >>> >>> (define %default-options >>> `((system . ,(%current-system)) >>> (substitutes? . #t) >>> (graft? . #t) >>> (max-silent-time . 3600) >>> (verbosity . 0))) >>> >>> If this is by design, I guess this issue can be closed. >> >> Good catch! >> >> However, according to ‘set-build-options’ in (guix store), >> #:max-silent-time #f is equivalent to #:max-silent-time 3600. > > IIUC, this should only be true when (< (nix-server-minor-version > server) #x61), as can be seen in (guix store): > > (when (< (nix-server-minor-version server) #x61) > (let ((max-build-jobs (or max-build-jobs 1)) > (xomax-silent-time (or max-silent-time 3600))) > (send (integer max-build-jobs) (integer max-silent-time))))
Oooh, indeed, sorry for the confusion. So what happens when #:max-silent-time is #f is that we use the daemon’s default value, which is infinite (zero) by default (see libstore/globals.cc). > Given that the the nix worker protocole PROTOCOL_VERSION was bumped to > 0x161 in commit deac976d3d26c7b85b9c90efb424b0aa94f1027c last January, I > would *not* expect this condition to be evaluated. > > By the way, I find it weird that these conditions be expressed in terms > of the minor version number only. The correctness of those is thus only > guaranteed as long as the major number version is not bumped; this seems > unwise. Historical baggage: the major number was never bumped, I think. :-) You’re right though. >> At any rate, it would be good to remove ‘max-silent-time’ from all the >> ‘%default-options’ variables, for consistency. >> >> Ludo’. > > I agree! In my view, interactive user commands should expect the users > to take action themselves (e.g.; user notice no output for 3 hours; hits > C-c. Or, user notice no output for 3 hours, check the process in top, > sees it's still doing something, decides to leave it running a couple > more hours). Yes. Would you like to prepare a patch to remove ‘max-silent-time’ from all the ‘%default-options’? In the meantime I’ll add --timeout and --max-silent-time as options to guix-daemon. Thanks! Ludo’.
