At 10:56 PM -0400 4/20/02, Charles Lane wrote:
> > At 12:50 PM -0400 4/19/02, [EMAIL PROTECTED] wrote:
> > >Craig Berry wrote:

> > The first approach is simpler and merely consists of omitting the
> > input file argument to lib$spawn. 

> > The second approach passes SYS$COMMAND's equivalence name as a symbol
>> to the subprocess where the symbol can then be used to define a
> > logical. 

>My bet is that the second approach is the better (and more flexible)
>one.  But this is not based on any detailed testing or code examination.

Oops, the first approach has already gone in.  The deciding factor
was that test_pipe.pl didn't hang as early on with this approach.
Also, since it only changes one argument to one lib$spawn call, it'll
be a piece of cake to revise if we come up with a more comprehensive
solution.

>As for the "hangs", any idea what bit of the torture tests it's hanging
>on?

Well, after my patch it hangs in test_pipe.pl after the test labeled
"TEST7:  close write pipe on beast while reading,  should see 5
writes, 5 reads+EOF."  I do see the reads, writes, and EOF, but then
the hang.  At that point, from looking at ANLYZE/SYSTEM --> SHOW
PROCESS/CHANNEL, the parent has two mailboxes open and busy and  the
child has a third mailbox open and busy, but the I/O request queue is
empty for all three mailboxes.  Parent and child are both in LEF
state.  My guess would be it's sitting in my_waitpid on the
sys$waitfr(pipe_ef) call but I haven't proven that yet.

With approach #2, I think the hang occurred after "TEST3: beast
writes 10, we read 5 and close  ... should see 10 writes, 5 reads."
Again, the "should see" matches what I do see, but then it hangs.
Before either of these patches, it also hangs after TEST3 on my DPW
500au, which is where all the other tests were run.  But on an
Alphastation 200 4/233, an unpatched bleadperl hangs after TEST1, so
clearly there is a timing issue involved.

I did notice the changes to pipe_exit_routine that appeared during
the same period that these problems appeared, but I did a test build
where I hacked them out and went back to what was in 5.6.1 and that
didn't help.  Other than that I can't really see what's changed.
-- 
____________________________________________
Craig A. Berry                  
mailto:[EMAIL PROTECTED]

"Literary critics usually know what they're
talking about. Even if they're wrong."
        -- Perl creator Larry Wall

Reply via email to