Qt patch: Redo select on EINTR "error" (QLocalSocket)

Daniel Winter dw at danielwinter.de
Mon Nov 10 02:45:23 GMT 2008


Hi,

while trying to fix a bug in Soprano/Nepomuk I found out, that it is in fact a 
bug in Qt. (With the help of Marcos Dione (StyXman in IRC) who wrote the 
attached patch).

Qt is doing select to wait for the Socket being ready to read/write from/to 
but doesn't handle the case where it gets interrupted by an unix signal. Qt 
just handles that as any other Socket error (thoug it isn't really an error) 
and closes the socket instead of just redo the select.    I already made a bug 
report at trolltech.com.

Can someone please take a look at the patch ( I think it  is not really 
optimal as it is, but it fixes the issue with Soprano )?  What needs to be done 
to get it in the qt-copy patch set?

DanielW
-------------- next part --------------
A non-text attachment was scrubbed...
Name: restart-select-on-EINTR.diff
Type: text/x-patch
Size: 2154 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20081110/15d4a662/attachment.bin>


More information about the kde-core-devel mailing list