diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-06-29 06:46:00 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-06-29 06:46:00 -0700 |
commit | 71d939c17417180c2d6c77032fece5bdef7181d1 (patch) | |
tree | 9d25097932b0d02efd2755f750ca0a4dd5ffbf12 /tests | |
parent | 5ec4a3a622e045ad5c1f1fd88e8badddf5128334 (diff) | |
download | txr-71d939c17417180c2d6c77032fece5bdef7181d1.tar.gz txr-71d939c17417180c2d6c77032fece5bdef7181d1.tar.bz2 txr-71d939c17417180c2d6c77032fece5bdef7181d1.zip |
doc-lookup: handle xdg-open not terminating.
It is common for web browsers like firefox not to fork
themselves into the background when initially run from the
command line. Only when an additional instance is executed
does that instance terminate immediately, passing the URL to
the existing instance. (Which also does not constitute forking
into the background, but does have the effect of an immediate
exit.)
User Paul A. Patience reports that some installations of
xdg-open have the isssue of not handling this situation; these
versions of xdg-open wait for the browser to terminate, which
causes xdg-open to hang until the browser is closed if it is
the initial instance.
* stdlib/doc-lookup.tl (detached-run): New function. Like run,
but forks into the background, running the process in a
detached grandchild whose parent terminates, so that it
becomes an orphan parented to the init daemon. We redirect
*stdout* to *stdnull* because the first instance of the
browser can spit ugly, meaningless diagnostics when it
terminates.
(open-url): Use detached-run instad of run. Don't check the
return value for zero; there is no integer exit status.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions