On Fri, Nov 11, 2011 at 11:48:30PM +0400, Alexey Shumkin wrote: > > I'm not sure there's a good way to do it. You would need either to > > wait some pre-determined "it could not possibly take it longer than N > > seconds to run" sleep, or we need some kind of synchronization point. > > We can't wait call "wait" on the child PID (if we even have it, > > because it's not our child). > hmm... we can delete "actual" file and wait its appearance (with > some timeout), no ? but I didn't see in tests anything like this Even that's not foolproof, as the open and write are not atomic (so you could see it's there, but read an empty file). But in this case, we really just care that the thing ran, not that it writes any specific output. So you could probably get away with something like: cat >fake-browser <<\EOF && #!/bin/sh >fake-browser-ran EOF git web--browse ... && { for timeout in 1 2 3 4 5; do test -f fake-browser-ran && break sleep 1 done test "$timeout" -ne 5 } which would note success as soon as possible (to within a one second margin), but would eventually give up after 5 seconds. So you'd get a false positive on a _very_ loaded system, but that's kind of unlikely. I dunno. Maybe this hackery is OK, or maybe it just isn't worth it, and we should declare this as something that's too hard to test to make it into our test suite. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html