38 #ifndef Included_ActivityManager
39 #define Included_ActivityManager
52 static void live(
size_t);
89 static void exit(
int retcode);
RexxActivity * new_activity()
void reportCondition(RexxString *condition, RexxString *description)
void reportNostring(RexxString *description)
void reportNovalue(RexxString *description)
void reportException(wholenumber_t error)
void reportNomethod(RexxErrorCodes error, RexxString *message, RexxObject *receiver)
RexxMethod * lastMethod()
void missingArgument(RexxString *kind, size_t argumentPosition)
RexxString * lastMessageName()
wholenumber_t RexxErrorCodes
#define Error_Invalid_argument_noarg
#define Error_Incorrect_method_noarg
static bool processTerminating
static SysSemaphore terminationSem
static void yieldCurrentActivity()
static RexxActivity * createNewActivity()
static RexxList * allActivities
static bool setActivityTrace(thread_id_t thread_id, bool on_or_off)
static RexxNativeActivation * newNativeActivation(RexxActivity *activity, RexxActivation *parent)
static wholenumber_t addWaitingActivityCounter()
static RexxActivation * newActivation(RexxActivity *activity, RexxActivation *parent, RoutineClass *routine, RexxCode *code, RexxString *calltype, RexxString *environment, int context)
static void clearActivityPool()
static bool poolActivity(RexxActivity *activity)
static void createInterpreter()
static void postTermination()
static void relinquish(RexxActivity *activity)
static wholenumber_t yieldCounter()
static size_t interpreterInstances
static bool lockKernelImmediate()
static RexxList * availableActivities
static RexxIdentityTable * subClasses
static std::deque< RexxActivity * > waitingActivities
static RexxDirectory * getLocal()
static void returnActivity(RexxActivity *)
static RexxList * activeActivities
static void unlockKernel()
static void activityEnded(RexxActivity *)
static void addWaitingActivity(RexxActivity *a, bool release)
static void terminateInterpreter()
static void createLocks()
static bool haltActivity(thread_id_t thread_id, RexxString *description)
static RexxActivity * createCurrentActivity()
static RexxObject * getLocalEnvironment(RexxString *name)
static RexxActivity * attachThread()
static void exit(int retcode)
static void liveGeneral(int reason)
static SysMutex kernelSemaphore
static RexxActivity *volatile currentActivity
static void haltAllActivities(RexxString *)
static void returnRootActivity(RexxActivity *activity)
static RexxActivity * getRootActivity()
static RexxActivity * getActivity()
static volatile bool sentinel
static wholenumber_t relinquishCounter()
static void waitForTermination(const char *ds, int di)
static void checkShutdown()
static RexxActivity * findActivity()
static void traceAllActivities(bool on)
InterpreterInstance * instance
RexxObject * protect(RexxObject *o)
void reportAnException(wholenumber_t, const char *)
void raiseException(wholenumber_t, RexxString *, RexxArray *, RexxObject *)
RexxString * getLastMessageName()
RexxMethod * getLastMethod()
bool raiseCondition(RexxString *, RexxObject *, RexxString *, RexxObject *, RexxObject *)
void wait(const char *ds, int di)