summaryrefslogtreecommitdiff
path: root/source4/lib
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-10-29 07:29:26 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:00 -0500
commitdbf03959244c392073281c10badd2095397ad2f2 (patch)
tree427e9fb6143cd2a2b66b6804a8c5339272115e47 /source4/lib
parent0caeda53d37740d18b38e6d37d0ecef8c6336820 (diff)
downloadsamba-dbf03959244c392073281c10badd2095397ad2f2.tar.gz
samba-dbf03959244c392073281c10badd2095397ad2f2.tar.bz2
samba-dbf03959244c392073281c10badd2095397ad2f2.zip
r3357: removed the need to use TDB_CLEAR_IF_FIRST in Samba4.
We found a few months ago that TDB_CLEAR_IF_FIRST is extremely inefficient for large numbers of connections, due to a fundamental limitation in the way posix byte range locking is implemented. Rather than the nasty workaround we had for Samba3, we now have a single "cleanup tmp files" function that runs when smbd starts. That deletes the tmp tdbs, so TDB_CLEAR_IF_FIRST is not needed at all. (This used to be commit ffa285bc783c775a2d53a58fb691ca339e6c76ae)
Diffstat (limited to 'source4/lib')
-rw-r--r--source4/lib/util.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source4/lib/util.c b/source4/lib/util.c
index d7c5661f7d..8b27bf070c 100644
--- a/source4/lib/util.c
+++ b/source4/lib/util.c
@@ -705,15 +705,18 @@ char *name_to_fqdn(TALLOC_CTX *mem_ctx, const char *name)
char *lock_path(TALLOC_CTX* mem_ctx, const char *name)
{
- char *fname;
+ char *fname, *dname;
- fname = talloc_strdup(mem_ctx, lp_lockdir());
- trim_string(fname,"","/");
+ dname = talloc_strdup(mem_ctx, lp_lockdir());
+ trim_string(dname,"","/");
- if (!directory_exist(fname,NULL))
- mkdir(fname,0755);
+ if (!directory_exist(dname,NULL)) {
+ mkdir(dname,0755);
+ }
- fname = talloc_asprintf(mem_ctx, "%s/%s", fname, name);
+ fname = talloc_asprintf(mem_ctx, "%s/%s", dname, name);
+
+ talloc_free(dname);
return fname;
}