|
|
@ -96,9 +96,15 @@ static void control_udp_incoming(int fd, void *p) { |
|
|
|
|
|
|
|
|
if (u->poller->now - u->oven_time >= 30) { |
|
|
if (u->poller->now - u->oven_time >= 30) { |
|
|
g_hash_table_remove_all(u->stale_cookies); |
|
|
g_hash_table_remove_all(u->stale_cookies); |
|
|
|
|
|
#if GLIB_CHECK_VERSION(2,14,0) |
|
|
g_string_chunk_clear(u->stale_chunks); |
|
|
g_string_chunk_clear(u->stale_chunks); |
|
|
swap_ptrs(&u->stale_cookies, &u->fresh_cookies); |
|
|
|
|
|
swap_ptrs(&u->stale_chunks, &u->fresh_chunks); |
|
|
swap_ptrs(&u->stale_chunks, &u->fresh_chunks); |
|
|
|
|
|
#else |
|
|
|
|
|
g_string_chunk_free(u->stale_chunks); |
|
|
|
|
|
u->stale_chunks = u->fresh_chunks; |
|
|
|
|
|
u->fresh_chunks = g_string_chunk_new(4 * 1024); |
|
|
|
|
|
#endif |
|
|
|
|
|
swap_ptrs(&u->stale_cookies, &u->fresh_cookies); |
|
|
u->oven_time = u->poller->now; /* baked new cookies! */ |
|
|
u->oven_time = u->poller->now; /* baked new cookies! */ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|