summaryrefslogtreecommitdiff
path: root/lib/tdb/common/open.c
Commit message (Collapse)AuthorAgeFilesLines
* tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are ↵Rusty Russell2009-08-141-5/+10
| | | | | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit 3b2f074bda8734a0b30a3e31117c0217d890809c) Addresses bug #6601. (cherry picked from commit 5d1e254188373de838cfe046118267701ee6cd5a)
* tdb: Revert "lib/tdb: if we know pwrite and pread are thread/fork safe ↵Rusty Russell2009-08-141-5/+0
| | | | | | | | | | | | tdb_reopen_all() should be a noop" This reverts commit e17df483fbedb81aededdef5fbb6ae1d034bc2dd. tdb_reopen_all also restores the active lock, required for TDB_CLEAR_IF_FIRST. Signed-off-by: Stefan Metzmacher <metze@samba.org> (cherry picked from commit fa91bc67199f0d45a0e570b43aeafd816a5491bf) (cherry picked from commit f1cf84c9b9abc48a58355400acb63fd79e1d60c4)
* lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() ↵Stefan Metzmacher2009-02-251-0/+5
| | | | | | | | | should be a noop The reason for tdb_reopen_all() is that the seek pointer on fds are shared between parent and child. metze
* Move common libraries from root to lib/.Jelmer Vernooij2008-09-171-0/+488