From ccb39a3fd2144417aea0190ecc7fe3ed165c7cc8 Mon Sep 17 00:00:00 2001 From: Ira Cooper Date: Wed, 13 Mar 2013 13:36:11 +0000 Subject: tsocket: ENOMEM can be retried on illumos/Solaris. The writev system call can return -1 and errno ENOMEM, as a retriable condition. Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Wed Mar 13 23:50:05 CET 2013 on sn-devel-104 --- lib/tsocket/tsocket_bsd.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/tsocket') diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c index 4b54d319a0..89e5f4cee8 100644 --- a/lib/tsocket/tsocket_bsd.c +++ b/lib/tsocket/tsocket_bsd.c @@ -60,6 +60,12 @@ static int tsocket_bsd_error_from_errno(int ret, return sys_errno; } + /* ENOMEM is retryable on Solaris/illumos, and possibly other systems. */ + if (sys_errno == ENOMEM) { + *retry = true; + return sys_errno; + } + #ifdef EWOULDBLOCK if (sys_errno == EWOULDBLOCK) { *retry = true; -- cgit