enhancing VM to handle OS signals properly. work in progress

This commit is contained in:
hyunghwan.chung
2019-08-14 16:24:39 +00:00
parent 62777b97d6
commit 3253b8fe0a
8 changed files with 113 additions and 28 deletions

View File

@ -1597,8 +1597,14 @@ struct moo_t
moo_oop_semaphore_t sem_gcfin;
int sem_gcfin_sigreq;
moo_oop_t* tmp_stack[256]; /* stack for temporaries */
moo_oow_t tmp_count;
moo_oop_semaphore_t sem_intr;
int intr_queue[256]; /* TODO: make it dynamic? */
int intr_qstart;
int intr_qend;
moo_oop_t* volat_stack[256]; /* stack for temporaries */
moo_oow_t volat_count;
moo_oop_t* proc_map;
@ -2134,6 +2140,10 @@ MOO_EXPORT void moo_abort (
moo_t* moo
);
MOO_EXPORT void moo_reportintr (
moo_t* moo,
int intrno
);
#if defined(MOO_HAVE_INLINE)
static MOO_INLINE void moo_switchprocess(moo_t* moo) { moo->switch_proc = 1; }