1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/lib/tdb
Rusty Russell 3b2f074bda tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop".
This version just wraps the reopen code, so we still re-grab the lock and do
the normal sanity checks.

The reason we do this at all is to avoid global fd limits, see:
http://forums.fedoraforum.org/showthread.php?t=210393

Note also that this whole reopen concept is fundamentally racy: if the parent
goes away before the child calls tdb_reopen_all, the database can be left
without an active lock and another TDB_CLEAR_IF_FIRST opener will clear it.
A fork_with_tdbs() wrapper could use a pipe to solve this, but it's hardly
elegant (what if there are other independent things which have similar needs?).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-07-31 14:40:28 +02:00
..
common tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop". 2009-07-31 14:40:28 +02:00
docs Add tdb_transaction_prepare_commit() 2009-03-31 13:15:54 +11:00
include Add tdb_transaction_prepare_commit() 2009-03-31 13:15:54 +11:00
python Implement missing functions in pytdb. 2008-12-18 19:41:02 +00:00
tools lib/tdb/tools/tdbtorture.c: fixed memory leak. 2009-06-06 22:33:39 +02:00
web Update tdb and talloc web pages 2009-05-05 19:04:39 -04:00
abi_checks.sh Sort the signature files 2009-07-03 08:45:30 -04:00
aclocal.m4 Move common libraries from root to lib/. 2008-09-17 14:11:12 +02:00
autogen.sh Remove swig use from tdb standalone build. 2008-12-18 19:49:53 +00:00
build_macros.m4 Add shared-build target to tdb. 2008-09-19 18:07:53 -04:00
config.guess Update copies of config.guess and config.sub. 2009-05-16 04:03:12 +02:00
config.mk lib/tdb: don't generate a static library for the samba4 build 2009-02-03 10:24:38 +01:00
config.sub Update copies of config.guess and config.sub. 2009-05-16 04:03:12 +02:00
configure.ac tdb: Fix help string in configure flag to enable Python bindings. 2009-06-17 21:12:50 +02:00
install-sh Move common libraries from root to lib/. 2008-09-17 14:11:12 +02:00
libtdb.m4 tdb: fix define of tdbdir when srcdir != "." 2009-07-03 18:24:42 +02:00
Makefile.in Add exports file and abi checker for tdb 2009-06-15 16:31:12 -04:00
pytdb.c s3 build: Remove unused fstat check to fix a bunch of HAVE_FSTAT warnings 2009-01-30 14:41:07 -08:00
python.mk lib/tdb: the python bindings don't use swig anymore 2009-02-02 15:16:08 +01:00
release-script.sh fix release scripts to always git clean 2009-06-17 14:18:03 -04:00
rules.mk Add exports file and abi checker for tdb 2009-06-15 16:31:12 -04:00
tdb.exports Add exports file and abi checker for tdb 2009-06-15 16:31:12 -04:00
tdb.mk standalone: Use more variables, preparing to include these files from main 2008-12-23 19:44:11 +01:00
tdb.pc.in Move common libraries from root to lib/. 2008-09-17 14:11:12 +02:00
tdb.signatures Sort the signature files 2009-07-03 08:45:30 -04:00