summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2006-09-26 11:27:09 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:20:21 -0500
commita0c614ede22e629eea267b54d3b1852fe9cc2aad (patch)
treeabece16f84b8ca9df4caf7c1c0ac03ba5a3aac0d
parent00cb032c0f012dc535ff443af8f760ff0696f24f (diff)
downloadsamba-a0c614ede22e629eea267b54d3b1852fe9cc2aad.tar.gz
samba-a0c614ede22e629eea267b54d3b1852fe9cc2aad.tar.bz2
samba-a0c614ede22e629eea267b54d3b1852fe9cc2aad.zip
r18916: fixed the messaging layer on *BSD systems. When a socket was full we
were getting ENOBUFS, which mapped to NT_STATUS_NO_MEMORY, which in turn caused the messaging code to loop trying until it gave up. Now it correctly falls back to select. Messaging speed goes from 3 messages per second to over 7000 on my test vmware box. Not bad for a one line change :) (This used to be commit 6568f30adf980c572f9ffd6ff884336ebe652f90)
-rw-r--r--source4/libcli/util/errormap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source4/libcli/util/errormap.c b/source4/libcli/util/errormap.c
index e6a1c0e71c..2ff9803d39 100644
--- a/source4/libcli/util/errormap.c
+++ b/source4/libcli/util/errormap.c
@@ -1278,7 +1278,7 @@ const struct unix_error_map unix_nt_errmap[] = {
{ ENOTSOCK, NT_STATUS_INVALID_HANDLE },
{ EFAULT, NT_STATUS_INVALID_PARAMETER },
{ EMSGSIZE, NT_STATUS_INVALID_BUFFER_SIZE },
- { ENOBUFS, NT_STATUS_NO_MEMORY },
+ { ENOBUFS, STATUS_MORE_ENTRIES },
{ ENOMEM, NT_STATUS_NO_MEMORY },
{ EPIPE, NT_STATUS_CONNECTION_DISCONNECTED },
{ ECONNREFUSED, NT_STATUS_CONNECTION_REFUSED },