X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=adu.c;h=c21df0b3aa5daa3136b5638a74127d803b373f69;hb=49353a00223b95a49f5750d3dcf1501a3f17c4c2;hp=821ce26fdd8bcd1e632171eb4c24dbe77aef105f;hpb=666df5bd9b383636650b6085b30fdcca9a9f2e36;p=adu.git diff --git a/adu.c b/adu.c index 821ce26..c21df0b 100644 --- a/adu.c +++ b/adu.c @@ -285,15 +285,15 @@ err: return ret; } -#define uid_hash_bits 8 -uint32_t uid_hash_table_size = 1 << uid_hash_bits; #define PRIME1 0x811c9dc5 #define PRIME2 0x01000193 -void create_hash_table(void) +uint32_t uid_hash_table_size; +void create_hash_table(unsigned bits) { - uid_hash_table = adu_calloc(uid_hash_table_size - * sizeof(struct user_info)); + uid_hash_table_size = 1 << bits; + uid_hash_table = adu_calloc(uid_hash_table_size * + sizeof(struct user_info)); } static void free_hash_table(void) @@ -372,6 +372,8 @@ static int init_signals(void) return -E_SIGNAL_SIG_ERR; if (signal(SIGTERM, &signal_handler) == SIG_ERR) return -E_SIGNAL_SIG_ERR; + if (signal(SIGPIPE, &signal_handler) == SIG_ERR) + return -E_SIGNAL_SIG_ERR; return 1; }