summary refs log tree commit diff
path: root/src/rt/rust_sched_driver.h
blob: c8dae9ca7b819a359bc1337979f7af1b5b8caf57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef RUST_SCHED_DRIVER_H
#define RUST_SCHED_DRIVER_H

#include "sync/lock_and_signal.h"
#include "rust_signal.h"

struct rust_sched_loop;

class rust_sched_driver : public rust_signal {
private:
    rust_sched_loop *sched_loop;
    lock_and_signal lock;
    bool signalled;

public:
    rust_sched_driver(rust_sched_loop *sched_loop);

    void start_main_loop();

    virtual void signal();
};

#endif /* RUST_SCHED_DRIVER_H */