[comp.lang.perl] volatile gimme and sp

tom@ssd.csd.harris.com (Tom Horsley) (02/26/90)

>If you could tell me if it keeps working with only gimme and sp volatilized,
>I'd be much obliged.  I'm not planning on volatilizing the others.

It seems to work fine with just these two variables volatilized (especially
once I fixed perl.h to say "#if defined(__STDC__) || defined(_CX_UX)"
instead of "#ifdef defined(__STDC__) || defined(_CX_UX)" (which is what I
started with).

Amusing anecdote follows:

I did have some trouble testing this however.  I spent all day trying to
figure out why the base.term test was failing, sometimes it would work, the
next time I would compile with different options and it would fail. It was
only after I watched the exact same version of perl fail the test once and
pass it the next time that I got desperate enough to type "ls -l /dev/null".

That was when I discovered that /dev/null was an ordinary file (NOT a
character special device).

It seems that someone on our system managed (somehow, no one is quite sure
how) to remove /dev/null.  Naturally, the next time something re-directed
its output to /dev/null, that re-created it, only now it was an ordinary
file. Each time some other task re-directed output to /dev/null, it would
change contents randomly, sometimes it would be zero length, sometimes not.
Since base.term expects to read /dev/null and get an EOF (a fairly
reasonable assumption) I was getting non-deterministic behavior from perl.

On a confusion index of 1 to 10, this one has got to rate an 11.
--
=====================================================================
domain: tahorsley@ssd.csd.harris.com  USMail: Tom Horsley
  uucp: ...!novavax!hcx1!tahorsley            511 Kingbird Circle
      or  ...!uunet!hcx1!tahorsley            Delray Beach, FL  33444
======================== Aging: Just say no! ========================