20typedef struct Process_WeakRef Process_WeakRef;
23#define _sti_Process _sti_object
24#define SType_Process Process*
25#define STStorageType_Process Process*
26#define STypeArg_Process(type, val) stgeneric(object, (ObjInst*)objInstCheckClass(Process, val))
27#define STypeArgPtr_Process(type, val) (stgeneric*)objInstCheckClassPtr(Process, val)
28#define STypeCheckedArg_Process(type, val) stType(type), stArg(type, val)
29#define STypeCheckedPtrArg_Process(type, val) stType(type), stArgPtr(type, val)
73#define Process(inst) objInstCheckClass(Process, inst)
74#define ProcessNone ((Process*)NULL)
76typedef struct Process_WeakRef {
79 void* _is_Process_WeakRef;
80 void* _is_ObjInst_WeakRef;
85#define Process_WeakRef(inst) objWeakRefCheckClass(Process, inst)
Basic closure functionality.
#define saDeclarePtr(name)
CX Struct System - Introspectable, serializable POD structures in C.
Mutex synchronization primitive.
CX Object System - Object-oriented programming in C.
Dynamic arrays with type-safe generic programming.
string exepath
Cached, best-effort.
atomic(bool) exited
Set once the outcome is known and cached in the two fields below.
sa_closure onexit
Exit subscribers, fired once outside the lock.
int32 exitcode
Valid once exited is set; PROC_ExitCodeUnknown if statusknown is false.
Mutex lock
Guards publication of the exit state.
int32 termsignal
Unix: signal that killed it, 0 if it exited normally.
string name
Cached, best-effort.
int64 watchid
Exit watcher registration id, 0 if never registered.
bool ischild
cx forked this process, so cx is responsible for reaping it