diff options
Diffstat (limited to 'source3/locking/brlock.c')
-rw-r--r-- | source3/locking/brlock.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c index 8c22f7d7ab..e7fa4022f6 100644 --- a/source3/locking/brlock.c +++ b/source3/locking/brlock.c @@ -162,10 +162,6 @@ static BOOL brl_conflict_other(struct lock_struct *lck1, struct lock_struct *lck } -#if DONT_DO_THIS - /* doing this traversal could kill solaris machines under high load (tridge) */ - /* delete any dead locks */ - /**************************************************************************** Delete a record if it is for a dead process, if check_self is true, then delete any records belonging to this pid also (there shouldn't be any). @@ -219,7 +215,6 @@ static int delete_fn(TDB_CONTEXT *ttdb, TDB_DATA kbuf, TDB_DATA dbuf, void *stat tdb_chainunlock(tdb, kbuf); return 0; } -#endif /**************************************************************************** Open up the brlock.tdb database. @@ -227,6 +222,8 @@ static int delete_fn(TDB_CONTEXT *ttdb, TDB_DATA kbuf, TDB_DATA dbuf, void *stat void brl_init(int read_only) { + BOOL check_self = False; + if (tdb) return; tdb = tdb_open_log(lock_path("brlock.tdb"), 0, TDB_DEFAULT|(read_only?0x0:TDB_CLEAR_IF_FIRST), @@ -236,14 +233,9 @@ void brl_init(int read_only) return; } -#if DONT_DO_THIS - /* doing this traversal could kill solaris machines under high load (tridge) */ /* delete any dead locks */ - if (!read_only) { - BOOL check_self = False; + if (!read_only) tdb_traverse(tdb, delete_fn, &check_self); - } -#endif } /**************************************************************************** @@ -252,17 +244,14 @@ void brl_init(int read_only) void brl_shutdown(int read_only) { + BOOL check_self = True; + if (!tdb) return; -#if DONT_DO_THIS - /* doing this traversal could kill solaris machines under high load (tridge) */ /* delete any dead locks */ - if (!read_only) { - BOOL check_self = True; + if (!read_only) tdb_traverse(tdb, delete_fn, &check_self); - } -#endif tdb_close(tdb); } |