Rusty Russell [Fri, 14 Dec 2012 21:02:06 +0000 (07:32 +1030)]
tal: don't always allocate an array in the samba benchmark.
Since we added the length property, this penalizes us with an extra
alloc. Unfortunately, we can't tell from the talloc.dump which are
array tallocs and which are single tallocs, but grepping the sources
gives a rate of 1 in 27.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Fri, 7 Dec 2012 05:56:37 +0000 (16:26 +1030)]
rfc822: fix sigaction test, wean off ccan-specific talloc_set_allocator()
The first ok() line was actually failing, because sigaction returns 0
on success, but because the program exit(0) out the abort handler,
that wasn't being seen.
So remove tap and just abort and assert our way through the test,
which I think is clearer.
We use macros to mug the talloc entry points, since talloc_set_allocator()
is not in mainline talloc.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: check headers more carefully.
We sanity check tal headers by ensuring that the pointers are in the
bounds of things we've allocated. But the first one we check is the
prop ptr, which may also be a literal: this is_literal() dereferences
the pointer, which means we usually crash here if it's not a tal
object.
Move that last, and we have far more success with our sanity checking.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: simplify.
All the effort trying to keep the header size down to 2 pointers turns
out to be wasted. In addition, getting the parent of a tal pointer is
now much faster.
Rusty Russell [Thu, 22 Nov 2012 00:32:15 +0000 (11:02 +1030)]
Makefile: list modules explicitly.
Clumsier than using wildcards, but that breaks down with nested modules
anyway. In the longer term, we want ccantool to do the building, but for
the moment make is a necessary evil.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 21 Nov 2012 23:35:27 +0000 (10:05 +1030)]
tal: remove TAL_TAKE in favor of ccan/take.
TAL_TAKE is awkward to use, particularly on functions which take multiple
arguments. Instead, record annotations for pointers due to be freed in
the callee.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Tue, 20 Nov 2012 05:17:30 +0000 (15:47 +1030)]
tal: Make tal_resize() easier to use.
Instead of trying to force people to use the return value, pass a pointer.
This makes it easier if you want to handle failure: no overwriting the old
pointer!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Sun, 18 Nov 2012 03:45:53 +0000 (14:15 +1030)]
tal: add benchmark based on Samba4's talloc usage.
This is based on a very simple dump of S4's talloc tree, which we try
to duplicate using tal. The benchmarks are simply to allocate all the
nodes, free all the nodes individually, and a top-level free.
Rusty Russell [Sun, 18 Nov 2012 03:37:35 +0000 (14:07 +1030)]
tal: add TAL_TAKE.
TAL_TAKE provides a magic context meaning "consume my args and return
a replacement". This is useful for writing convenience functions,
though not so useful in the standard routines here.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
David Gibson [Mon, 12 Nov 2012 07:14:26 +0000 (18:14 +1100)]
rfc822: Update rfc822 module to use testdepends
Several modules were only listed as dependencies because they were used in
the testcases. That in turn gave some bogus incompatible license warnings
which we partially suppressed from _info. Now that ccanlint supports
testdepends, use that to clean it up.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Rusty Russell [Mon, 12 Nov 2012 04:23:40 +0000 (14:53 +1030)]
tools: add testdepends handling in _info.
This allows us to separate dependencies only needed for testing.
This matters: they don't have the same impact on licensing, nor necessarily
on end-users.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Thu, 1 Nov 2012 23:17:28 +0000 (09:47 +1030)]
hash: switch to CC0 license.
As per email from Andreas (the only other contributor):
From: Andreas Schlick <schlick@lavabit.com>
Subject: Re: Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au>
Date: Thu, 01 Nov 2012 12:51:47 +0100
Hi!
> Since Public Domain is a slippery concept outside certain countries,
> it has been suggested that I formalize it to Creative Commons Zero.
>
> I want to change the License string (and add a symlink) to the
> following trivial modules. Please Ack.
Sure, ack.
Andreas
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Thu, 1 Nov 2012 05:07:41 +0000 (15:37 +1030)]
Relicense all public domain modules to CC0.
I wrote all of most of them, for the others, here's the CCAN mailing
list thread authorizing it:
From: Timothy B. Terriberry <tterribe@xiph.org>
Subject: Re: [ccan] Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au> Cc: ccan@ozlabs.org
Date: Wed, 31 Oct 2012 02:53:50 -0400
Rusty Russell <rusty@rustcorp.com.au> wrote:
> I want to change the License string (and add a symlink) to the following
> trivial modules. Please Ack.
> isaac
Ack.
From: Alessandro Guido <ag@alessandroguido.name>
Subject: Re: Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au>
Date: Wed, 31 Oct 2012 10:59:53 +0100
Acked-by: Alessandro Guido <ag@alessandroguido.name>
From: Brad Hards <bradh@frogmouth.net>
Subject: Re: Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au> Cc: Joey Adams <joeyadams3.14159@gmail.com>, Alessandro Guido <ag@alessandroguido.name>, Andreas Schlick <schlick@lavabit.com>, ccan@ozlabs.org
Date: Wed, 31 Oct 2012 23:43:24 +1100
On 31/10/12 17:43, Rusty Russell wrote:
> Damn lawyers!
>
> Since Public Domain is a slippery concept outside certain countries, it
> has been suggested that I formalize it to Creative Commons Zero.
>
> I want to change the License string (and add a symlink) to the following
> trivial modules. Please Ack.
Ack.
More generally, anything I've put into CCAN is so trivial that you can
relicense it (to any Free / Open Source license) as part of any
relicensing you can otherwise get agreement to.
Brad
[Sorry if this comes out in HTML - I'm stuck with unsat tools while
travelling].
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:31:59 +0000 (22:01 +1030)]
tlist: remove unused var warning in example.
Compiler:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h:186:15: warning: variable ‘first’ set but not used [-Wunused-but-set-variable]
Compiler:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h:205:15: warning: variable ‘last’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:31:47 +0000 (22:01 +1030)]
time: remove unused var warning in example.
Compiler:
/home/rusty/devel/cvs/ccan/ccan/time/time.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/time/time.h:334:16: warning: variable ‘tv’ set but not used [-Wunused-but-set-variable]
Compiler:
/home/rusty/devel/cvs/ccan/ccan/time/time.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/time/time.h:353:17: warning: variable ‘ts’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:29:50 +0000 (21:59 +1030)]
talloc: remove const warning in _info example.
Compiler:
/home/rusty/devel/cvs/ccan/ccan/talloc/_info: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/talloc/_info:84:9: warning: passing argument 2 of ‘open_output_cmd’ discards ‘const’ qualifier from pointer target type [enabled by default]
/home/rusty/devel/cvs/ccan/ccan/talloc/_info:52:24: note: expected ‘char *’ but argument is of type ‘const char *’
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:23:17 +0000 (21:53 +1030)]
list: fix unused var warning.
/home/rusty/devel/cvs/ccan/ccan/list/list.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/list/list.h:280:15: warning: variable ‘first’ set but not used [-Wunused-but-set-variable]
/home/rusty/devel/cvs/ccan/ccan/list/list.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/list/list.h:304:15: warning: variable ‘last’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:05:41 +0000 (21:35 +1030)]
lbalance: fix unused var warning.
/home/rusty/devel/cvs/ccan/ccan/lbalance/lbalance.c:Compiling object files gave warnings:
/home/rusty/devel/cvs/ccan/ccan/lbalance/lbalance.c: In function ‘best_target’:
/home/rusty/devel/cvs/ccan/ccan/lbalance/lbalance.c:245:18: warning: variable ‘best’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:04:20 +0000 (21:34 +1030)]
crcsync: fix memory leak in tests.
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:==6923== 112 bytes in 1 blocks are definitely lost in loss record 2 of 3
==6923== at 0x402BA7A: malloc (vg_replace_malloc.c:261)
==6923== by 0x80492EE: crcblocks (run-crash.c:20)
==6923== by 0x8049448: main (run-crash.c:62)
==6923== 2,217 (2,212 direct, 5 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3
==6923== at 0x402BA7A: malloc (vg_replace_malloc.c:261)
==6923== by 0x8048AA0: crc_context_new (crcsync.c:85)
==6923== by 0x8049476: main (run-crash.c:64)
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run.c:==11793== 512 bytes in 1 blocks are definitely lost in loss record 1 of 2
==11793== at 0x402A52B: calloc (vg_replace_malloc.c:462)
==11793== by 0x8049A3F: main (run.c:128)
==11793== 512 bytes in 1 blocks are definitely lost in loss record 2 of 2
==11793== at 0x402A52B: calloc (vg_replace_malloc.c:462)
==11793== by 0x8049A57: main (run.c:129)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:04:18 +0000 (21:34 +1030)]
crcsync: fix constness warning.
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:Compile gave warnings:
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:30:3: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:35:3: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 31 Oct 2012 11:02:37 +0000 (21:32 +1030)]
str: fix unused var warning with gcc
Compiler:
/home/rusty/devel/cvs/ccan/ccan/str/str.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/str/str.h:69:5: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>