From: VMware, Inc <> Date: Tue, 24 Aug 2010 18:15:12 +0000 (-0700) Subject: Changes in shared code that don't affect open-vm-tools functionality. X-Git-Tag: 2010.08.24-292196~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a14f1c01080e4fe8eda08d34fce94008dd560249;p=thirdparty%2Fopen-vm-tools.git Changes in shared code that don't affect open-vm-tools functionality. Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/misc/posixPosix.c b/open-vm-tools/lib/misc/posixPosix.c index e2375af1f..f5dd2aa17 100644 --- a/open-vm-tools/lib/misc/posixPosix.c +++ b/open-vm-tools/lib/misc/posixPosix.c @@ -459,9 +459,22 @@ Posix_Access(ConstUnicode pathName, // IN: return -1; } +#if defined(VMX86_SERVER) + /* + * ESX can return EINTR making retries a necessity. This is a bug in + * ESX that is being worked around here - POSIX says access cannot return + * EINTR. + */ + + do { + ret = access(path, mode); + } while ((ret == -1) && (errno == EINTR)); +#else ret = access(path, mode); +#endif free(path); + return ret; }