2016-03-20 15:58 GMT+01:00 Ximin Luo <[email protected]>:

> Jérémy Lal:
> >> Hello Ximin,
> >>
> >> i tried your patch, and now when interrupting using ctrl-c
> >> xvfb-run -a myapp
> >> i get (i added the "cleaning" message):
> >>
> >> ^Ccleaning /tmp/xvfb-run.UlOS0T
> >> cleaning /tmp/xvfb-run.UlOS0T
> >> rm: cannot remove '/tmp/xvfb-run.UlOS0T': No such file or directory
> >> xvfb-run: error: problem while cleaning up temporary directory
> >>
> >> obviously cleanup is run twice.
> >>
>
> I couldn't figure out why it is run twice [*], but if you just change "rm
> -r" to "rm -rf" it will no longer fail. I don't see any problem with that.
>

I suggest instead to keep a "cleaned" global variable to track if the
cleanup function has run once before or not.


Updated patch attached, I also updated the signals (added some more,
> removed KILL since it doesn't actually work) and added some quoting.
>
> X
>
> [*] Ctrl-C sends SIGINT to the whole process group, so I tried with "kill"
> specifically to the shell running xvfb but it still double-cleaned. I also
> tried "trap clean_up <signals>" omitting EXIT and adding "clean_up" before
> "exit" at the bottom of the script but that didn't fix the double-clean
> either.
>

I've had exactly the same problem with a totally unrelated program
recently. I suppose that behavior is explained somewhere in the F.M.

Jérémy.

Reply via email to