tested, and approved  ++1 !
Please commit to CVS

Vincent.

----- Original Message ----- From: "Vincent CHAVANIS" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, October 26, 2006 11:14 AM
Subject: Re: [PATCH] fix unregister/callback race in conn.c


Alex is right here,

The patch (+ list != NULL) was only submited to prevent smsbox from crashing in the 1.4.1 release.
I will test alex's patch today.

Vincent.

--
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Developpement SMS/MMS/Kiosques
http://www.telemaque.fr/
[EMAIL PROTECTED]
Tel : +33 4 92 90 99 84 (fax 9142)
----- Original Message ----- From: "Alexander Malysh" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, October 26, 2006 9:35 AM
Subject: Re: [PATCH] fix unregister/callback race in conn.c


Hi,

because dict_get(conn_pool, key) may not be NULL it's just impossible if
no races there.


Am 26.10.2006, 07:53 Uhr, schrieb Mi Reflejo <[EMAIL PROTECTED]>:

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







--
Thanks,
Alex









Reply via email to