[Devel] dbt_lib.c:dbt_db_del_table(): should we release the lock
of _tbc->sem when break ?
Daniel-Constantin Mierla
daniel at voice-system.ro
Tue May 22 16:40:28 CEST 2007
Hello,
there is kind of potential deadlock inside the function, but actually
the function is not in use. I think it remained there from some initial
coding when it was planned to be able to load new tables at run-time.
That feature is not in place, so the function is not called by another
function as of now. I have fixed and then commented the declaration and
implementation of the function.
Thanks for the report, cheers,
Daniel
On 05/21/07 11:13, yanlin wrote:
> 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 at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
>
>
More information about the Devel
mailing list