>>>>> "d" == dblack  <dblack / superlink.net> writes:

d> Also, the thing I'm seeing only seems to happen when a file handle is
d> cloned.  If I just do:

 Well, if you have access to a Solaris system read carefully stdio(3s), you
 have 

[...]
     Handles can be created or destroyed by user  action  without
     affecting the underlying open file description.  Some of the
     ways to create them include  fcntl(2),  dup(2),  fdopen(3S),
[...]
     If two or more handles are used, and any one of  them  is  a
     stream,  their  actions  shall  be  coordinated as described
     below.  If this is not done, the result is undefined.
[...]
        10.
           For the second handle: if any previous  active  handle
           has called a function that explicitly changed the file
           offset, except as required above for the first handle,
           the   application  shall  perform  an  lseek()  or  an
           fseek(2) (as appropriate to the type of the handle) to
           an appropriate location.
[...]


Guy Decoux