PushIOvHelper errors
Alex Kiernan
alexk at demon.net
Wed Sep 11 14:39:45 UTC 2002
I patched PushIOvHelper like this:
@@ -101,8 +101,13 @@
}
assert(sentiov <= queued_iov);
gettimeofday(&start, NULL);
- if (PushIOvHelper(newiov, &newiov_len) == FALSE)
+ if (PushIOvHelper(newiov, &newiov_len) == FALSE) {
+ /* if we fail, we don't have the appropriate recovery
mechanisms
+ * so just ditch any pending output (else we may overrun
+ * IOV_MAX) */
+ queued_iov = 0;
return FALSE;
+ }
so that it didn't cause memory to get trashed when you got an error in
write.
But when I was about to commit it, I set to thinking - if we've a write
error and we don't cope with the retries, the client is going to be out
of sync with us, so should we just call ExitWithStats()?
--
Alex Kiernan, Principal Engineer, Development, THUS plc
More information about the inn-workers
mailing list