diff options
author | Chris Wilson <chris+github@qwirx.com> | 2008-08-09 07:07:16 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2008-08-09 07:07:16 +0000 |
commit | 33a3d225c7780a5f5d38a5ac5fd068f445e5a434 (patch) | |
tree | 5ada9daf3c5fe99306163fa343cb43529f8de945 /lib | |
parent | 09f50b9589842036949a8cc6cf6ee0058b930763 (diff) |
Map ERROR_SHARING_VIOLATION to EBUSY in openfile().
Diffstat (limited to 'lib')
-rw-r--r-- | lib/win32/emu.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/win32/emu.cpp b/lib/win32/emu.cpp index 48db4ec7..5a61fc3f 100644 --- a/lib/win32/emu.cpp +++ b/lib/win32/emu.cpp @@ -667,9 +667,20 @@ HANDLE openfile(const char *pFileName, int flags, int mode) if (hdir == INVALID_HANDLE_VALUE) { + switch(GetLastError()) + { + case ERROR_SHARING_VIOLATION: + errno = EBUSY; + break; + + default: + errno = EINVAL; + } + ::syslog(LOG_WARNING, "Failed to open file '%s': " "%s", pFileName, GetErrorMessage(GetLastError()).c_str()); + return INVALID_HANDLE_VALUE; } |