svn commit: samba r3318 - in branches/SAMBA_4_0/source/lib/socket: .
tridge at samba.org
tridge at samba.org
Thu Oct 28 11:57:20 GMT 2004
Author: tridge
Date: 2004-10-28 11:57:20 +0000 (Thu, 28 Oct 2004)
New Revision: 3318
WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/lib/socket&rev=3318&nolog=1
Log:
generate random STATUS_MORE_ENTRIES errors (1 in 10 packets) as well
as randomly short recv/send when socket:testnonblock is enabled
Modified:
branches/SAMBA_4_0/source/lib/socket/socket.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/socket/socket.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket.c 2004-10-28 08:37:46 UTC (rev 3317)
+++ branches/SAMBA_4_0/source/lib/socket/socket.c 2004-10-28 11:57:20 UTC (rev 3318)
@@ -158,7 +158,11 @@
}
if ((sock->flags & SOCKET_FLAG_TESTNONBLOCK) && wantlen > 1) {
- return sock->ops->recv(sock, buf, 1+(random() % (wantlen-1)), nread, flags);
+ if (random() % 10 == 0) {
+ *nread = 0;
+ return STATUS_MORE_ENTRIES;
+ }
+ return sock->ops->recv(sock, buf, 1+(random() % wantlen), nread, flags);
}
return sock->ops->recv(sock, buf, wantlen, nread, flags);
@@ -182,7 +186,11 @@
if ((sock->flags & SOCKET_FLAG_TESTNONBLOCK) && blob->length > 1) {
DATA_BLOB blob2 = *blob;
- blob2.length = 1+(random() % (blob2.length-1));
+ if (random() % 10 == 0) {
+ *sendlen = 0;
+ return STATUS_MORE_ENTRIES;
+ }
+ blob2.length = 1+(random() % blob2.length);
return sock->ops->send(sock, &blob2, sendlen, flags);
}
More information about the samba-cvs
mailing list