hi, all,

in function dbt_db_del_table() of module dbtext, should we do 
"lock_release(&_tbc->sem)" before "break" when
we found the cached table for delete? in tbl_cache_free(), 
"lock_get(&_tbc->sem)" would be called, deadlock then.

int dbt_db_del_table(dbt_cache_p _dc, str *_s)
{
        ...
        while(_tbc)
        {
                        ...
                        lock_get(&_tbc->sem);
                        if(_tbc->dtp->name.len == _s->len 
                                && !strncasecmp(_tbc->dtp->name.s, _s->s, 
_s->len))
                        {
                                ...

                                //============> need 'lock_release(&_tbc->sem)' 
before break ?
                                break;
                        }
                        lock_release(&_tbc->sem);  
                        ...
        }                       
        ...
        tbl_cache_free(_tbc);           
        ...

}


regards,

yan lin
05/21/2007


*** Disclaimer: This message may contain privileged and/or confidential 
information.  If you have received this e-mail in error or are not the intended 
recipient, you may not use, copy, disseminate or distribute it; do not open any 
attachments, delete it immediately from your system and notify the sender 
promptly by e-mail that you have done so.  Thank you. ***


_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to