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)
void satisfySensitivity(Sensitivity *)
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)
BuiltinExceptionWrapper< UnwindExceptionKill > killException
void syncResetOn(bool inc_kids)
std::vector< Reset * > resets
void disable(bool inc_kids)
InternalScEvent _terminatedEvent
@ SC_BEFORE_END_OF_ELABORATION
const static size_t DefaultStackSize
void reset(bool inc_kids)
DynamicSensitivity * dynamicSensitivity
const char SC_ID_THROW_IT_WHILE_NOT_RUNNING_[]
const char SC_ID_THROW_IT_IGNORED_[]
void addReset(Reset *reset)
static Port * fromPort(const ::sc_core::sc_port_base *pb)
ExceptionWrapperBase * excWrapper
#define SC_REPORT_ERROR(msg_type, msg)
void syncResetOff(bool inc_kids)
StaticSensitivities staticSensitivities
void suspend(bool inc_kids)
::sc_core::sc_report * lastReport() const
void addStatic(StaticSensitivity *)
void throw_it(ExceptionWrapperBase &exc, bool inc_kids)
void signalReset(bool set, bool sync)
void newReset(const sc_core::sc_port_base *pb, Process *p, bool s, bool v)
void enable(bool inc_kids)
const std::string & name()
#define SC_REPORT_WARNING(msg_type, msg)
const char SC_ID_KILL_PROCESS_WHILE_UNITIALIZED_[]
Process(const char *name, ProcessFuncWrapper *func, bool internal=false)
void setTimeout(::sc_core::sc_time t)
std::unique_ptr<::sc_core::sc_report > _lastReport
const char * name() const
void throw_it_wrapper(Process *p, ExceptionWrapperBase &exc, bool inc_kids)
void injectException(ExceptionWrapperBase &exc)
BuiltinExceptionWrapper< UnwindExceptionReset > resetException
InternalScEvent _resetEvent
void resume(bool inc_kids)
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 setDynamic(DynamicSensitivity *)
std::vector<::sc_core::sc_join * > joinWaiters
void waitCount(int count)
ProcessFuncWrapper * func
const char SC_ID_PROCESS_CONTROL_CORNER_CASE_[]
Generated on Sun Jul 30 2023 01:56:49 for gem5 by doxygen 1.8.17