Umh.
Why this?:
- if (list != NULL && gwlist_delete_equal(list, conn) > 0) {
+ if (gwlist_delete_equal(list, conn) > 0) {
dict_get couldn't return null value from conn_pool and key?
M
On 10/25/06, Alexander Malysh <[EMAIL PROTECTED]> wrote:
Hi All,
attached patch fixes race condition in unregister/callback usage/destroy
of callback data.
The race is as follow, spotted with help of http.c:
1 Thread 2 Thread
1) http:conn_pool_get 1) http:check_pool_conn
2) conn = XYZ
3) conn_unregister
in conn_unregister
destroy callbackdata
2) dict_get(conn_pool, key) ->
crash because connback data already
destroyed
@Vincent: you reported similar crash. This patch should fix it.
Votes please?
--
Thanks,
Alex