From 8824055f0f929e56a6714c1e9955c09206d57fc4 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 29 Jun 2009 18:53:04 +0930 Subject: [PATCH] Handle tracing on internal dbs. --- ccan/tdb/open.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ccan/tdb/open.c b/ccan/tdb/open.c index 1e9ce83a..e58d381f 100644 --- a/ccan/tdb/open.c +++ b/ccan/tdb/open.c @@ -164,12 +164,16 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags, } #ifdef TDB_TRACE - sprintf(tracefile, "%s.trace.%u", name, getpid()); - tdb->tracefd = open(tracefile, O_WRONLY|O_CREAT|O_EXCL, 0600); - if (tdb->tracefd < 0) - goto fail; - tdb_trace(tdb, "tdb_open %s %u %#x %#x %p\n", - name, hash_size, tdb_flags, open_flags, hash_fn); + if (!(tdb_flags & TDB_INTERNAL)) { + sprintf(tracefile, "%s.trace.%u", name, getpid()); + tdb->tracefd = open(tracefile, O_WRONLY|O_CREAT|O_EXCL, 0600); + if (tdb->tracefd < 0) + goto fail; + tdb_trace(tdb, "tdb_open %s %u %#x %#x %p\n", + name, hash_size, tdb_flags, open_flags, hash_fn); + } else + /* All writes will fail. That's OK. */ + tdb->tracefd = -1; #endif tdb_io_init(tdb); -- 2.39.2