On November 1, 2011 08:48:25 PDT, Richard Hipp wrote:
On Tue, Nov 1, 2011 at 10:40 AM, Korey Calmettes <kcalmet...@icontime.com >wrote:

When we are able to reproduce the problem again, I will run these
checks.  It's fairly random however consistent.  I will e-mail the
results to you later today.


If you are able, please recompile using the version of SQLite here:

    http://www.sqlite.org/src/ci/72256634773f?sbs=1

which includes a patch that will retry read() system calls that return
fewer bytes than expected. Let us know if this clears the problem. Note that this patch is on a branch and probably won't go onto the trunk unless
we hear back positive results from you.

It's not just read system calls that are allowed to do that. The POSIX spec. for read is at:

http://pubs.opengroup.org/onlinepubs/009695399/functions/read.html

and says:

"If a read() is interrupted by a signal after it has successfully read some data, it shall return the number of bytes read."

which the above patch handles. However, the POSIX spec. for write is at:

http://pubs.opengroup.org/onlinepubs/007904975/functions/write.html

and it says basically the same thing:

"If write() is interrupted by a signal after it successfully writes some data, it shall return the number of bytes written."

and it doesn't appear that SQLite currently permits that behavior either with or without the above patch.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to