![]() | |||||||||||||
Messages in this thread |
On Sat, 10 Sep 2005, Paolo 'Blaisorblade' Giarrusso wrote: >> When calling close() on the host, we must retry the operation when we get > EINTR. Actually, no. If close() return EINTR, the file descriptor _will_ have been closed. The error return just tells you that soem error happened on the file: for example, in the case of EINTR, the close() may not have flushed all the pending data synchronously. Re-doing the close() is the wrong thing to do, since in a threaded environment, something else might have opened another file, gotten the same file descriptor, and you now close _another_ file. (Normally, re-doing the close will just return EBADF, of course). I'm going to drop this patch, but in case you've ever seen a case where EINTR actually means that the fd didn't get closed, please holler, and we need to fix it. Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-09-10 21:02 [W:0.105 / U:0.240 seconds] ©2003-2008 Jasper Spaans | |||||||||||||