diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-11-11 18:39:42 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-11-11 18:39:42 +0000 |
commit | bc12482932a6771566c7dcabc53f34e6297510f2 (patch) | |
tree | b6f3f100201a5475fecdd1df66a45b1178831457 /tests/cloexec03.at | |
parent | 894b78d5bcb7b609a3b52ce804306a63c4761282 (diff) | |
download | gdbm-bc12482932a6771566c7dcabc53f34e6297510f2.tar.gz gdbm-bc12482932a6771566c7dcabc53f34e6297510f2.tar.bz2 |
Implement cloexec in gdbm_reorganize. Add test cases.
* compat/dbmopen.c: Apply O_CLOEXEC for newly created dir
file, if requested.
* src/gdbmdefs.h (gdbm_file_info) <cloexec>: New member.
* src/gdbmopen.c (gdbm_open): Initialize cloexec member.
* src/gdbmreorg.c (gdbm_reorganize): Propagate cloexec bit
to the new database.
* tests/.cvsignore: Update.
* tests/cloexec00.at: New test case.
* tests/cloexec01.at: Likewise.
* tests/cloexec02.at: Likewise.
* tests/cloexec03.at: Likewise.
* fdop.c: New auxiliary program.
* g_open_ce: New test program.
* g_reorg_ce: New test program.
* d_creat_ce: New test program.
* tests/Makefile.am: Add new test cases and test programs.
* tests/testsuite.at: Include new test cases.
* doc/gdbm.texinfo: Minor change.
Diffstat (limited to 'tests/cloexec03.at')
-rw-r--r-- | tests/cloexec03.at | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/cloexec03.at b/tests/cloexec03.at new file mode 100644 index 0000000..5fa1c0f --- /dev/null +++ b/tests/cloexec03.at @@ -0,0 +1,26 @@ +# This file is part of GDBM. -*- autoconf -*- +# Copyright (C) 2011 Free Software Foundation, Inc. +# +# GDBM is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GDBM is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GDBM. If not, see <http://www.gnu.org/licenses/>. */ + +AT_SETUP([cloexec: dbm_open -creat]) +AT_KEYWORDS([ndbm dbm_open cloexec cloexec03]) + +AT_CHECK([ +AT_COMPAT_PREREQ +d_creat_ce "$abs_builddir/fdop" -creat +], +0) + +AT_CLEANUP |