X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-bringup%2Ftest-igniter;h=454f63289e859cf245f256c4ec0c07de821f162c;hp=72dd7723a0e1a291b288272e4a882eae84084c55;hb=4800497fa1fc449807ef0097cc3fed367641ae29;hpb=24167015705ae831692b95735968b04a876f935e;ds=inline diff --git a/ao-bringup/test-igniter b/ao-bringup/test-igniter index 72dd7723..454f6328 100755 --- a/ao-bringup/test-igniter +++ b/ao-bringup/test-igniter @@ -98,10 +98,32 @@ do_igniter(file f, string igniter) { return true; } +file +open_tty(string name) +{ + int i = 0; + for (;;) { + try { + return open (name, "r+"); + } catch open_error(string error, File::error_type error, string name) { + if (error == File::error_type.BUSY) { + if (i < 30) { + printf ("waiting for %s to be usable\n", name); + sleep(2000); + continue; + } + } else { + printf ("%s: %s\n", name, error); + exit(1); + } + } + } +} + void main () { string name = argv[1]; string[dim(argv)-2] igniters = { [i] = argv[i+2] }; - file f = open(name, "r+"); + file f = open_tty(name); bool ret = true; for (int i = 0; i < dim(igniters); i++) {