From: Rusty Russell Date: Mon, 21 Mar 2011 10:20:22 +0000 (+1030) Subject: tdb2: fix tools compilation. X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=d5bb8e8d1c6731a3db234393c8d196b3b50084f2 tdb2: fix tools compilation. --- diff --git a/ccan/tdb2/tools/tdbtool.c b/ccan/tdb2/tools/tdbtool.c index 3ae7866d..a00ebb90 100644 --- a/ccan/tdb2/tools/tdbtool.c +++ b/ccan/tdb2/tools/tdbtool.c @@ -21,7 +21,6 @@ */ #include -#include #include #include #include @@ -207,8 +206,10 @@ static void help(void) " store key data : store a record (replace)\n" " show key : show a record by key\n" " delete key : delete a record by key\n" +#if 0 " list : print the database hash table and freelist\n" " free : print the database freelist\n" +#endif " check : check the integrity of an opened database\n" " speed : perform speed tests on the database\n" " ! command : execute system command\n" @@ -242,12 +243,6 @@ static void create_tdb(const char *tdbname) } } -static uint64_t jenkins_hash(const void *key, size_t len, uint64_t seed, - void *priv) -{ - return hash_any(key, len, seed); -} - static void open_tdb(const char *tdbname) { union tdb_attribute log_attr; diff --git a/ccan/tdb2/tools/tdbtorture.c b/ccan/tdb2/tools/tdbtorture.c index 89c26099..52cab665 100644 --- a/ccan/tdb2/tools/tdbtorture.c +++ b/ccan/tdb2/tools/tdbtorture.c @@ -64,10 +64,11 @@ static void segv_handler(int signal, siginfo_t *info, void *p) { char string[100]; - sprintf(string, "%u: death at %p (map_ptr %p, map_size %llu)\n", - getpid(), info->si_addr, db->map_ptr, db->map_size); - write(2, string, strlen(string)); - sleep(60); + sprintf(string, "%u: death at %p (map_ptr %p, map_size %zu)\n", + getpid(), info->si_addr, db->file->map_ptr, + (size_t)db->file->map_size); + if (write(2, string, strlen(string)) > 0) + sleep(60); _exit(11); } @@ -243,7 +244,8 @@ static void usage(void) static void send_count_and_suicide(int sig) { /* This ensures our successor can continue where we left off. */ - write(count_pipe, &loopnum, sizeof(loopnum)); + if (write(count_pipe, &loopnum, sizeof(loopnum)) != sizeof(loopnum)) + exit(2); /* This gives a unique signature. */ kill(getpid(), SIGUSR2); } @@ -433,8 +435,11 @@ int main(int argc, char * const *argv) || WTERMSIG(status) == SIGUSR1) { /* SIGUSR2 means they wrote to pipe. */ if (WTERMSIG(status) == SIGUSR2) { - read(pfds[0], &done[j], - sizeof(done[j])); + if (read(pfds[0], &done[j], + sizeof(done[j])) + != sizeof(done[j])) + err(1, + "Short read from child?"); } pids[j] = fork(); if (pids[j] == 0)