diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
---|---|---|
committer | <> | 2015-03-17 16:26:24 +0000 |
commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /src/os/os_handle.c | |
parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
download | berkeleydb-master.tar.gz |
Diffstat (limited to 'src/os/os_handle.c')
-rw-r--r-- | src/os/os_handle.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/os/os_handle.c b/src/os/os_handle.c index 8ae9dc7f..7dbe31e1 100644 --- a/src/os/os_handle.c +++ b/src/os/os_handle.c @@ -1,7 +1,7 @@ /*- * See the file LICENSE for redistribution information. * - * Copyright (c) 1998, 2012 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ @@ -90,7 +90,7 @@ __os_openhandle(env, name, flags, mode, fhpp) * return EEXISTS. */ DB_END_SINGLE_THREAD; - ret = EEXIST; + ret = USR_ERR(env, EEXIST); goto err; } /* @@ -127,7 +127,10 @@ __os_openhandle(env, name, flags, mode, fhpp) break; } - switch (ret = __os_posix_err(__os_get_syserr())) { + ret = __os_posix_err(__os_get_syserr()); + if (ret != ENOENT) + (void)USR_ERR(env, ret); + switch (ret) { case EMFILE: case ENFILE: case ENOSPC: @@ -160,9 +163,8 @@ __os_openhandle(env, name, flags, mode, fhpp) /* Deny file descriptor access to any child process. */ if ((fcntl_flags = fcntl(fhp->fd, F_GETFD)) == -1 || fcntl(fhp->fd, F_SETFD, fcntl_flags | FD_CLOEXEC) == -1) { - ret = __os_get_syserr(); - __db_syserr(env, ret, DB_STR("0162", - "fcntl(F_SETFD)")); + ret = USR_ERR(env, __os_get_syserr()); + __db_syserr(env, ret, DB_STR("0162", "fcntl(F_SETFD)")); ret = __os_posix_err(ret); goto err; } @@ -226,6 +228,7 @@ __os_closehandle(env, fhp) else RETRY_CHK((close(fhp->fd)), ret); if (ret != 0) { + ret = USR_ERR(env, ret); __db_syserr(env, ret, DB_STR("0164", "close")); ret = __os_posix_err(ret); } |