ovsdb-server: Maintain the database lock with --detach.
authorBen Pfaff <blp@nicira.com>
Mon, 16 Nov 2009 23:09:50 +0000 (15:09 -0800)
committerBen Pfaff <blp@nicira.com>
Mon, 16 Nov 2009 23:20:01 +0000 (15:20 -0800)
commiteb077b264f0801971e02f1fdcd62241388c7448e
tree67e5d1992f148bb1831854c79238ccbde4713f84
parentb93d3b6cb28a925f530aef2009602c06f2f5ae60
ovsdb-server: Maintain the database lock with --detach.

Before this commit, "ovsdb-server --detach" would detach after it opened
the database file, which meant that the child process did not hold the
file lock on the database file (because a forked child process does not
inherit its parents' locks).  This commit fixes the problem by making
ovsdb-server open the database only after it has detached.  This fix, in
turn, required that daemonize() not chdir to /, because this would break
databases whose names are given relative to the current directory, and so
this commit also changes ovsdb-server to do so later.
lib/daemon.c
lib/daemon.h
ovsdb/ovsdb-server.c