Move notification-messages out into their own file and unify into notify_message, make them use proxies, cache task proxies in dom.

This commit is contained in:
Michael Bebenita
2010-07-28 16:24:50 -07:00
committed by Graydon Hoare
parent defd8a66ea
commit 4ff8e15128
8 changed files with 245 additions and 64 deletions

View File

@@ -4,6 +4,10 @@
#ifndef RUST_TASK_H
#define RUST_TASK_H
#include "util/array_list.h"
struct
rust_task : public maybe_proxy<rust_task>,
public dom_owned<rust_task>
@@ -35,6 +39,9 @@ rust_task : public maybe_proxy<rust_task>,
// that location before waking us up.
uintptr_t* rendezvous_ptr;
// List of tasks waiting for this task to finish.
array_list<maybe_proxy<rust_task> *> tasks_waiting_to_join;
rust_alarm alarm;
rust_task(rust_dom *dom,
@@ -95,6 +102,7 @@ rust_task : public maybe_proxy<rust_task>,
// Notify tasks waiting for us that we are about to die.
void notify_waiting_tasks();
void notify_tasks_waiting_to_join();
uintptr_t get_fp();
uintptr_t get_previous_fp(uintptr_t fp);