diff options
author | Andrew Tridgell <tridge@samba.org> | 2007-04-18 11:20:24 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2007-04-18 11:20:24 +1000 |
commit | 8f059f4d91ee8df59eb9ae4052ca8f5afa392c3b (patch) | |
tree | 1e5fb4fb9689f14cccc648656c5cb90ce76d84c5 /ctdb/lib/util/debug.c | |
parent | 98bb60e9d6fd68a5614f15517bd591e433956fe7 (diff) | |
parent | 27837c197aaf221019d3d0d25896653b5f87659f (diff) | |
download | samba-8f059f4d91ee8df59eb9ae4052ca8f5afa392c3b.tar.gz samba-8f059f4d91ee8df59eb9ae4052ca8f5afa392c3b.tar.xz samba-8f059f4d91ee8df59eb9ae4052ca8f5afa392c3b.zip |
- merge volkers debug changes
- fixed memory leaks in the 3 packet receive routines. The problem was
that the ctdb_call logic would occasionally complete and free a
incoming packet, which would then be freed again in the packet
receive routine. The solution is to make the packet a child of a
temporary context in the receive routine then free that temporary
context. That allows other routines to keep or free the packet if
they want to, while allowing us to safely free it (via a free of the
temporary context) in the receive function
(This used to be ctdb commit 304aaaa7235febbe97ff9ecb43875b7265ac48cd)
Diffstat (limited to 'ctdb/lib/util/debug.c')
-rw-r--r-- | ctdb/lib/util/debug.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ctdb/lib/util/debug.c b/ctdb/lib/util/debug.c new file mode 100644 index 0000000000..a3229015ca --- /dev/null +++ b/ctdb/lib/util/debug.c @@ -0,0 +1,40 @@ +/* + Unix SMB/CIFS implementation. + ctdb debug functions + Copyright (C) Volker Lendecke 2007 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" +#include "system/time.h" +#include <unistd.h> + +void do_debug(const char *format, ...) +{ + struct timeval tm; + va_list ap; + char *s = NULL; + + va_start(ap, format); + vasprintf(&s, format, ap); + va_end(ap); + + gettimeofday(&tm, NULL); + printf("%-8.8d.%-6.6d [%d]: %s", (int)tm.tv_sec, (int)tm.tv_usec, + (int)getpid(), s); + fflush(stdout); + free(s); +} |