timer: Don't set default cap as custom cap

Without the patch the signal cap was ever transferred to the timer session
when a usleep/msleep was called, even when unneeded. On base-nova this
causes the allocation of new capability indexes which are not freed up.
So the timer service run quickly out of indexes and get out of order...

Related to issue #1
This commit is contained in:
Alexander Boettcher 2013-02-22 12:38:01 +01:00 committed by Norman Feske
parent 26e8e0ebdd
commit 439315d918

View File

@ -38,7 +38,7 @@ namespace Timer {
_default_sigh_cap(_sig_rec.manage(&_default_sigh_ctx))
{
/* register default signal handler */
sigh(_default_sigh_cap);
Session_client::sigh(_default_sigh_cap);
}
~Connection() { _sig_rec.dissolve(&_default_sigh_ctx); }
@ -59,7 +59,7 @@ namespace Timer {
/* temporarily install to the default signal handler */
if (_custom_sigh_cap.valid())
sigh(_default_sigh_cap);
Session_client::sigh(_default_sigh_cap);
/* trigger timeout at default signal handler */
trigger_once(us);
@ -67,7 +67,7 @@ namespace Timer {
/* revert custom signal handler if registered */
if (_custom_sigh_cap.valid())
sigh(_custom_sigh_cap);
Session_client::sigh(_custom_sigh_cap);
}
void msleep(unsigned ms)