[Openais] Re: FW: Evt Deadlock
Steven Dake
sdake at mvista.com
Tue Jan 24 13:35:48 PST 2006
Mark
after looking at make event, I found this problem probably separate:
error = saHandleCreate(&event_handle_db, sizeof(*edi),
event_handle);
if (error != SA_AIS_OK) {
if (error == SA_AIS_ERR_NO_MEMORY) {
error = SA_AIS_ERR_LIBRARY;
}
goto make_evt_done;
}
error = saHandleInstanceGet(&event_handle_db, *event_handle,
(void*)&edi);
if (error != SA_AIS_OK) {
goto make_evt_done;
}
the instance get fails, causing the following code to run:
make_evt_done:
return error
the problem is, the handle was created, so it should be destroyed if
handleinstanceget fails. so the event handle leaks.
Regards
-steve
On Tue, 2006-01-24 at 13:17 -0800, Mark Haverkamp wrote:
> On Tue, 2006-01-24 at 12:27 -0700, Steven Dake wrote:
> [ ... ]
>
> >
> > Mark, I'd take a second look at your saHandleDestroy calls as they may
> > have some kind of problem.
>
> OK, I found a bad bug. I don't know if it is related to anyones
> trouble, but it is bad. In make_event (creates an event structure in
> the library code) the new event is destroyed if there are any errors. I
> was using the wrong handle database to destroy the event handle. Here
> is the patch. This will need to be checked into the picacho branch too.
> I'll create a bugzilla entry too.
>
> Mark.
>
>
More information about the Openais
mailing list