core: always release Irq_proxy startup lock

Prior this patch the startup lock was not released if the call of
'_associate()' failed. In this condition, the caller of the constructor
was infinitely blocked.
This commit is contained in:
Norman Feske 2013-01-31 10:08:30 +01:00
parent 7868156b19
commit 622959ede4
1 changed files with 5 additions and 3 deletions

View File

@ -154,10 +154,12 @@ class Genode::Irq_proxy : public THREAD,
*/
void entry()
{
if (_associate()) {
_startup_lock.unlock();
bool const associate_suceeded = _associate();
_startup_lock.unlock();
if (associate_suceeded)
_loop();
}
}
/**