lstream writing, flushing, & closing
Adrian Aichner
adrian at xemacs.org
Sun Nov 14 05:16:42 EST 2004
Jerry James <james at xemacs.org> writes:
> Still flushing my own buffers ...
>
> "Ben Wing" <ben at 666.com> wrote:
>>> -----Original Message-----
>>> From: Jerry James [mailto:james at xemacs.org]
>>> Sent: Friday, October 22, 2004 8:57 AM
>>> To: XEmacs Beta
>>> Cc: Ben Wing
>>> Subject: lstream writing, flushing, & closing
>
> [snip]
>
>>> discarding error_occurred set by the writer. It looks to me
>>> like the code should be this instead:
>>>
>>> if (!error_occurred && lstr->imp->flusher)
>>> error_occurred = (lstr->imp->flusher) (lstr) < 0;
>>>
>>> Do you agree?
>>
>> Yes, this looks right.
>
> Okay, I will send in a patch today to fix this.
>
> [snip]
>
>>> If you have any suggestions about how we might fix this
>>> problem for Linux users without making the Windows users
>>> suffer, I would really appreciate hearing about it.
>>
>> Well, if necessary, you could set a flag only for the filedesc lstream and
>> test it in Lstream_pseudo_close(). That seems like a big kludge though, so
>> I'd like to see the backtrace that Adrian posted -- could you send it to me?
>> I can't locate the email where he posted it.
>
> There is no backtrace. In fact, Adrian said that neither C-g nor C-G
> would interrupt XEmacs when it got into those long hangs. See:
>
> http://list-archive.xemacs.org/xemacs-beta/200409/msg00422.html
>
> Do we have any Windows users in the audience who would consent to
> performing an experiment? I would like to have somebody run with a
Since I reverted my own patch to close handles, and built with Ben's
megapatch implementing a corrected version thereof, I have not seen
these uninterruptible hangs. I've been using XEmacs every day and
kept it running for many days so I should have ween them.
Thanks Ben!
Jerry, I'm willing to test your patch also.
I still have some CVS conflict resolution to do, but other than that I
should be able to test your patch.
> modified version of the patch that caused Adrian trouble, but this time
It probably was not your patch after all, as stated above.
> call warn_when_safe with data that is about to be discarded from a
> closing lstream, as well as some information about the lstream itself.
> Hopefully that will be sufficiently enlightening that we can get rid of
> that data loss we Linux users have had to suffer from for so long.
Best regards,
Adrian
--
Adrian Aichner
mailto:adrian at xemacs.org
http://www.xemacs.org/
More information about the XEmacs-Beta
mailing list