[Libreoffice] [PUSHED] More read(2) / write(2) cleanup in OSL/unx
Julien Chaffraix
julien.chaffraix at gmail.com
Sat Apr 30 16:46:50 PDT 2011
Hi Michael,
>
> Thanks for that - I've pushed them. They need a little more work though
> (although they are no worse than the original ;-):
>
> a) safeWrite needs to check for EINTR as safeRead does.
Atttached is a patch should solve this.
>
> b) neither safeRead or safeWrite advance the buffer /
> data pointer when they get a partial read/write - which
> is broken.
> + we should have an unsigned char *ptr for both of
> those, and add nWritten or nRead to it each time
> we get a partial chunk read.
Ouch, good catch! Attached is another patch for this.
The changes are again available under LGPLv3+/MPL.
> Otherwise this is nice :-) It would be sexy to have someone (when this
> is all fixed), to isolate and unify all the temp file creation code that
> is used all over the place; not all of it is best practise, and there is
> a lot of dangerous duplication.
Sounds like a worthy goal, do you have some pointers to areas that
duplicate the code?
Thanks,
Julien
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Handled-EINTR-in-safeWrite.patch
Type: text/x-patch
Size: 1027 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110430/f9438e23/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Properly-advance-the-data-buffer-pointer.patch
Type: text/x-patch
Size: 2085 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110430/f9438e23/attachment-0001.bin>
More information about the LibreOffice
mailing list