On Thu, Aug 18, 2011 at 6:10 PM, Stephan Beal <sgb...@googlemail.com> wrote:
> On Thu, Aug 18, 2011 at 5:27 PM, David Garfield < > garfi...@irving.iisd.sra.com> wrote: > >> I HOPE that an interrupt in a large interrupted write will NOT return > > EINTR, because if it does, the partial write is screwed up. >> > > i hope so, too! :-D > It would seem that at least one environment does allow that behaviour. From the Linux write(2) man pages: ---- CONFORMING TO SVr4, 4.3BSD, POSIX.1-2001. Under SVr4 a write may be interrupted and return EINTR at any point, not just before any data is written. ---- So this just might actually (potentially) affect some sqlite3 users. i don't know if Solaris currently uses SysV or posix semantics, but Solaris was once known as SVr4 (SysV, v.4)? If that is indeed the case, the current code will cause corruption on an EINTR on such platforms because the EINTR handling does not account for a non-0 write. http://kb.iu.edu/data/agjs.html http://en.wikipedia.org/wiki/System_V The German page has release dates and easier-to-read inheritance details: http://de.wikipedia.org/wiki/System_V http://en.wikipedia.org/wiki/Solaris_(operating_system) -- ----- stephan beal http://wanderinghorse.net/home/stephan/ _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users