35a36
> #include "systemc/core/list.hh"
44c45
< class Process : public ::sc_core::sc_object
---
> class Process : public ::sc_core::sc_object, public ListNode
47a49
> bool running() const { return _running; }
77a80,90
> // This should only be called before initialization.
> void dontInitialize() { popListNode(); }
>
> void setStackSize(size_t size) { stackSize = size; }
>
> void run();
>
> virtual Fiber *fiber() { return Fiber::primaryFiber(); }
>
> static Process *newest() { return _newest; }
>
79,83c92
< Process(const char *name, ProcessFuncWrapper *func, bool _dynamic) :
< ::sc_core::sc_object(name), func(func), _dynamic(_dynamic),
< _isUnwinding(false), _terminated(false), _suspended(false),
< _disabled(false), _syncReset(false), refCount(0)
< {}
---
> Process(const char *name, ProcessFuncWrapper *func, bool _dynamic);
84a94,95
> static Process *_newest;
>
91a103
> bool _running;
102d113
< };
104,117c115
< class Method : public Process
< {
< public:
< Method(const char *name, ProcessFuncWrapper *func, bool _dynamic=false) :
< Process(name, func, _dynamic)
< {}
<
< const char *kind() const override { return "sc_method_process"; }
<
< sc_core::sc_curr_proc_kind
< procKind() const override
< {
< return sc_core::SC_METHOD_PROC_;
< }
---
> size_t stackSize;
120,153d117
< class Thread : public Process
< {
< public:
< Thread(const char *name, ProcessFuncWrapper *func, bool _dynamic=false) :
< Process(name, func, _dynamic)
< {}
<
< const char *kind() const override { return "sc_thread_process"; }
<
< void throw_it(ExceptionWrapperBase &exc, bool inc_kids) override;
<
< sc_core::sc_curr_proc_kind
< procKind() const override
< {
< return sc_core::SC_THREAD_PROC_;
< }
< };
<
< class CThread : public Thread
< {
< public:
< CThread(const char *name, ProcessFuncWrapper *func, bool _dynamic=false) :
< Thread(name, func, _dynamic)
< {}
<
< const char *kind() const override { return "sc_cthread_process"; }
<
< sc_core::sc_curr_proc_kind
< procKind() const override
< {
< return sc_core::SC_CTHREAD_PROC_;
< }
< };
<