ok I understand now.

On Thu, Feb 16, 2012 at 3:17 PM, Raul Miller <rauldmil...@gmail.com> wrote:
> You could make that into a shared object and load it in J using cd,
> but if the OS requires hidden files to be open in every process, that
> could also be a source of problems.  I also do not have access to a
> mac, so I can't tell you what you would need to do there, to run it
> from under cd.
>
> Typically, though, a unix OS has three open file descriptors in a
> process, and closing them prevents their use but has no other
> consequences:
>
> 0: standard input
> 1: standard output
> 2: standard error
>
> Closing standard input means you cannot receive any further input
>
> Closing standard output means that console messages cease (or that
> whatever you are writing to -- another file, or whatever) fails.
>
> Closing standard error does the same thing for error notifications.
>
> Closing these files can cause problems for your code (which is why the
> usual approach is to reopen these files using /dev/null as the
> underlying file), but should not hurt the OS.
>
> --
> Raul
>
> On Thu, Feb 16, 2012 at 9:55 AM, Ian Clark <earthspo...@gmail.com> wrote:
>> Thanks, Raul.
>>
>> I can't see how to use your C routine without compiling it and calling
>> it using 2!:1 (is that what you meant me to do?) It might seriously
>> corrupt MacOS, which has lots of hidden files open, so I daren't try
>> it. Anyway, can it be an open child file, if the problem doesn't arise
>> with jconsole (jcon701) used in place of JHS?
>>
>> Now I've at last got my browse tool
>> http://www.jsoftware.com/jwiki/IanClark/LoBrow working with JHS (by
>> launching an essential "client" process independently, so as to get
>> round the 2!:1 hang-up) a lot is coming clear. I think Bill has the
>> right idea. JHS uses smoutput in an essential way to execute input
>> sentences, and it can't just be turned off by setting smoutput_z_=:
>> empty. This impacts on the timer to be used with JHS too, see recent
>> thread.
>>
>> On Thu, Feb 16, 2012 at 1:51 PM, Raul Miller <rauldmil...@gmail.com> wrote:
>>> I do not know, either, but you can close an already closed file handle, so:
>>>
>>> #include <unistd.h>
>>>
>>> void closeMostFiles() {
>>>    int f;
>>>    for (f= 0; f < 256; f++) {
>>>        close(f);
>>>    }
>>> }
>>>
>>> If using that routine remedies the symptom you are seeing, it will be
>>> worth looking at this in more depth.  If not, it will probably be a
>>> different issues.
>>>
>>> --
>>> Raul
>>>
>>> On Tue, Feb 14, 2012 at 6:27 PM, Ian Clark <earthspo...@gmail.com> wrote:
>>>> I wasn't aware any file handles were inherited. Where do I find them
>>>> to close? (...Unix rabbit).
>>>>
>>>> (The same code works without trouble in j602.)
>>>>
>>>> On Tue, Feb 14, 2012 at 9:25 PM, Raul Miller <rauldmil...@gmail.com> wrote:
>>>>> Have you tried closing the file handles the child process inherits
>>>>> from the parent?
>>>>>
>>>>> --
>>>>> Raul
>>>>>
>>>>> On Tue, Feb 14, 2012 at 4:04 PM, Ian Clark <earthspo...@gmail.com> wrote:
>>>>>> 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
>>>>> ----------------------------------------------------------------------
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to