Hi Kobi,
 
I am using ACE_Mutex. Let me check ACE Guards (I know there  is ACE_Guard class), Is that what you mean?
 
Thanks
Priyank
 


From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Kobi Cohen-Arazi
Sent: Thursday, May 11, 2006 11:09 AM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [multi_index] Core dump in multi-index library !!

Procedure * Procedure_Pool::find_by_id(int _id)
{
        LD_TRACE("Procedure_Pool::find_by_id");
        mutex_.acquire();
        Procedure_By_Id::iterator it = procedure_by_id_.find(_id);
        if (it != procedure_by_id_.end()) {
                ACE_DEBUG((LM_DEBUG, "%N:%l Found procedure for id: %d \n", _id));
                mutex_.release();
                return *it;
        }
        ACE_DEBUG((LM_DEBUG, "%N:%l Not able to found procedure for id: %d \n", _id));
        mutex_.release();
        // return null
        return 0;
}

BTW, As a side note, I highly recommend you to use ACE Guards (RAII...) for the mutex thing.
Kobi