2!:1 is not truly asynchronous in JHS, it seems. The net result is
that I cannot see how to launch a child process without the session
hanging until the child terminates.

Strange to say, the jijx session immediately resumes, and will accept
(re-)input. But it will not execute the inputted expression. Inside a
verb however, execution continues past 2!:1 (which successfully forks
the child process), but after completion of the verb the session is
silent (until the child process is terminated).

Example:
Suppose test6s.wav is a sound file lasting 6 seconds. (Chosen to last
long enough to allow "i.6" to be entered.)

   2!:1 'afplay ~/wav/test6s.wav &'
   i.6
0 1 2 3 4 5

The jijx accepts i.6 but hangs until test6s.wav finishes playing. Only
then does 0 1 2 3 4 5 appear.

   JVERSION
Engine: j701/2011-01-10/11:25 build: Feb  6 2011 16:16:29
Library: 7.01.055
Platform: Darwin 64
Installer: j701a_mac64.dmg
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to