1
0

with-retries 454 B

123456789101112131415161718192021222324
  1. #!@SHEBANGDIR@/execlineb
  2. #
  3. # with-retries -n numretries -t millisecs prog...
  4. #
  5. elgetopt "n:t:"
  6. multisubstitute
  7. {
  8. importas -u -D 3 nretries ELGETOPT_n
  9. importas -u -D 500 timeout ELGETOPT_t
  10. elgetpositionals -P0
  11. }
  12. emptyenv -P
  13. forbacktickx -x 0,1 -d"\n" i { s6-seq 0 ${nretries} }
  14. importas -u i i
  15. if { s6-test ${i} -ne ${nretries} }
  16. foreground
  17. {
  18. s6-maximumtime -t ${timeout}
  19. $@
  20. }
  21. importas -u ? ?
  22. if -x 99 { s6-test ${?} -eq 0 }