|
|
|
@ -173,10 +173,18 @@ restart: |
|
|
|
mutex_lock(&u->lock); |
|
|
|
g_hash_table_replace(u->fresh_cookies, g_string_chunk_insert(u->fresh_chunks, out[RE_UDP_COOKIE]), |
|
|
|
g_string_chunk_insert(u->fresh_chunks, reply)); |
|
|
|
g_hash_table_remove(u->stale_cookies, out[RE_UDP_COOKIE]); |
|
|
|
cond_broadcast(&u->cond); |
|
|
|
mutex_unlock(&u->lock); |
|
|
|
free(reply); |
|
|
|
} |
|
|
|
else { |
|
|
|
mutex_lock(&u->lock); |
|
|
|
g_hash_table_remove(u->fresh_cookies, out[RE_UDP_COOKIE]); |
|
|
|
g_hash_table_remove(u->stale_cookies, out[RE_UDP_COOKIE]); |
|
|
|
cond_broadcast(&u->cond); |
|
|
|
mutex_unlock(&u->lock); |
|
|
|
} |
|
|
|
|
|
|
|
out: |
|
|
|
pcre_free(out); |
|
|
|
|