Fix: don't deference stale pager pointer in core

Reset pager pointer in platform_thread if pager object is removed.

Fixes #532
This commit is contained in:
Alexander Boettcher
2012-11-29 13:37:30 +01:00
committed by Norman Feske
parent 1720e04fdc
commit fa2cbdc7cb
7 changed files with 51 additions and 3 deletions

View File

@ -20,14 +20,26 @@
#include <base/signal.h>
#include <pager/capability.h>
#include <cap_session/cap_session.h>
#include <thread/capability.h>
namespace Genode {
struct Pager_object
{
Thread_capability _thread_cap;
virtual ~Pager_object() { }
void exception_handler(Signal_context_capability) { }
public:
/**
* Remember thread cap so that rm_session can tell thread that
* rm_client is gone.
*/
Thread_capability thread_cap() { return _thread_cap; } const
void thread_cap(Thread_capability cap) { _thread_cap = cap; }
};
class Pager_activation_base { };