summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/smbd/open.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/smbd/open.c b/source/smbd/open.c
index 4edf3e8ecc9..9dd03e17039 100644
--- a/source/smbd/open.c
+++ b/source/smbd/open.c
@@ -227,8 +227,10 @@ static BOOL check_access_allowed_for_current_user( char *fname, int accmode )
int status_code;
while ((wpid = sys_waitpid(child_pid, &status_code, 0)) < 0) {
- if(errno == EINTR)
+ if(errno == EINTR) {
+ errno = 0;
continue;
+ }
DEBUG(0,("check_access_allowed_for_current_user: The process \
is no longer waiting ! Error = %s\n", strerror(errno) ));
CatchChild();