ya ryan is right

regards
-steve

On Wed, 2009-06-24 at 10:44 -0500, Ryan O'Hara wrote:
> On Wed, Jun 24, 2009 at 04:00:55PM +0200, Jan Friesse wrote:
> > hdb_handle_refcount_get uses handle without lock and do unlock. This
> > shouldn't ever happend.
> 
> The hdb_handle_refcount_get call definitely needs the
> hdb_database_lock (&handle_database->lock).
> 
> I definitely do not understand why we would call
> db_create (handle_database) in this code, though.
> 
> 
> 
> > diff --git a/trunk/include/corosync/hdb.h b/trunk/include/corosync/hdb.h
> > index 84cdc79..681ebe4 100644
> > --- a/trunk/include/corosync/hdb.h
> > +++ b/trunk/include/corosync/hdb.h
> > @@ -348,6 +348,13 @@ static inline int hdb_handle_refcount_get (
> >  
> >     int refcount = 0;
> >  
> > +   if (handle_database->first_run == 1) {
> > +           handle_database->first_run = 0;
> > +           hdb_create (handle_database);
> > +   }
> > +
> > +   hdb_database_lock (&handle_database->lock);
> > +
> >     if (handle >= handle_database->handle_count) {
> >             hdb_database_unlock (&handle_database->lock);
> >             errno = EBADF;
> 
> > _______________________________________________
> > Openais mailing list
> > [email protected]
> > https://lists.linux-foundation.org/mailman/listinfo/openais
> _______________________________________________
> Openais mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/openais

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to