From a0c614ede22e629eea267b54d3b1852fe9cc2aad Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 26 Sep 2006 11:27:09 +0000 Subject: 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) --- source4/libcli/util/errormap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/libcli/util') 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 }, -- cgit