Go to the documentation of this file.
119 std::string message(
"attempt to disable a thread with timeout wait: ");
270 std::cout <<
"Terminating process " <<
name() << std::endl;
271 }
catch(const ::sc_core::sc_unwind_exception &exc) {
272 reset = exc.is_reset();
369 _lastReport = std::unique_ptr<::sc_core::sc_report>(
370 new ::sc_core::sc_report(*report));
379 ::
sc_core::sc_process_b(
name), excWrapper(nullptr),
380 timeoutEvent([this]() { this->
timeout(); }),
381 func(func), _internal(
internal), _timedOut(
false), _dontInitialize(
false),
382 _needsStart(
true), _isUnwinding(
false), _terminated(
false),
383 _scheduled(
false), _suspended(
false), _disabled(
false),
384 _syncReset(
false), syncResetCount(0), asyncResetCount(0), _waitCount(0),
386 dynamicSensitivity(
nullptr)
421 p->throw_it(exc, inc_kids);
435 if (!
reset->install(sig))
void forEachKid(const std::function< void(Process *)> &work)
sc_status sc_get_status()
virtual const std::vector< sc_object * > & get_child_objects() const
const char SC_ID_RESET_PROCESS_WHILE_NOT_RUNNING_[]
void deschedule(ScEvent *event)
void injectException(ExceptionWrapperBase &exc)
void throw_it(ExceptionWrapperBase &exc, bool inc_kids)
::sc_core::sc_report * lastReport() const
BuiltinExceptionWrapper< UnwindExceptionKill > killException
void setDynamic(DynamicSensitivity *)
std::vector< Reset * > resets
InternalScEvent _terminatedEvent
@ SC_BEFORE_END_OF_ELABORATION
void reset(bool inc_kids)
DynamicSensitivity * dynamicSensitivity
const char SC_ID_THROW_IT_WHILE_NOT_RUNNING_[]
const char SC_ID_THROW_IT_IGNORED_[]
void enable(bool inc_kids)
void setTimeout(::sc_core::sc_time t)
static Port * fromPort(const ::sc_core::sc_port_base *pb)
ExceptionWrapperBase * excWrapper
const static size_t DefaultStackSize
#define SC_REPORT_ERROR(msg_type, msg)
StaticSensitivities staticSensitivities
Process(const char *name, ProcessFuncWrapper *func, bool internal=false)
void suspend(bool inc_kids)
void addStatic(StaticSensitivity *)
void satisfySensitivity(Sensitivity *)
void syncResetOff(bool inc_kids)
void newReset(const sc_core::sc_port_base *pb, Process *p, bool s, bool v)
const std::string & name()
#define SC_REPORT_WARNING(msg_type, msg)
const char SC_ID_KILL_PROCESS_WHILE_UNITIALIZED_[]
void syncResetOn(bool inc_kids)
void addReset(Reset *reset)
std::unique_ptr<::sc_core::sc_report > _lastReport
const char * name() const
void throw_it_wrapper(Process *p, ExceptionWrapperBase &exc, bool inc_kids)
void disable(bool inc_kids)
BuiltinExceptionWrapper< UnwindExceptionReset > resetException
InternalScEvent _resetEvent
void schedule(ScEvent *event, const ::sc_core::sc_time &delay)
virtual ::sc_core::sc_curr_proc_kind procKind() const =0
bool sc_allow_process_control_corners
void signalReset(bool set, bool sync)
std::vector<::sc_core::sc_join * > joinWaiters
void waitCount(int count)
ProcessFuncWrapper * func
void resume(bool inc_kids)
const char SC_ID_PROCESS_CONTROL_CORNER_CASE_[]
Generated on Wed Sep 30 2020 14:02:00 for gem5 by doxygen 1.8.17