X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=message.c;fp=message.c;h=cfda36be28f839b268e4c79f67fb3119c0b490a4;hp=1e4d37d673e49d6851e1d47b068475986e707980;hb=0a71f8f76f975b4c5937cbe476a7edd722c3e0ba;hpb=e233557e40043050c72b46d4b32b3a04cfd3d947 diff --git a/message.c b/message.c index 1e4d37d..cfda36b 100644 --- a/message.c +++ b/message.c @@ -30,10 +30,19 @@ void cleanup_message(void) del_work(&message_work); } +unsigned int lcr_random = 0; + /* creates a new message with the given attributes. the message must be filled then. after filling, the message_put must be called */ struct lcr_msg *message_create(int id_from, int id_to, int flow, int type) { struct lcr_msg *message; + struct timeval now_tv; + struct timezone now_tz; + + gettimeofday(&now_tv, &now_tz); + lcr_random = (lcr_random << 1) | (lcr_random >> 31); + lcr_random ^= now_tv.tv_sec; + lcr_random ^= now_tv.tv_usec; message = (struct lcr_msg *)MALLOC(sizeof(struct lcr_msg)); if (!message)