cleaned up code related to IO semaphores and multiplexing
This commit is contained in:
@ -937,14 +937,40 @@ typedef int (*moo_vmprim_startup_t) (moo_t* moo);
|
||||
typedef void (*moo_vmprim_cleanup_t) (moo_t* moo);
|
||||
typedef void (*moo_vmprim_gettime_t) (moo_t* moo, moo_ntime_t* now);
|
||||
|
||||
typedef int (*moo_vmprim_muxadd_t) (moo_t* moo, moo_ooi_t io_handle, moo_ooi_t mask, void* ctx);
|
||||
typedef int (*moo_vmprim_muxmod_t) (moo_t* moo, moo_ooi_t io_handle, moo_ooi_t mask, void* ctx);
|
||||
typedef int (*moo_vmprim_muxdel_t) (moo_t* moo, moo_ooi_t sem);
|
||||
typedef int (*moo_vmprim_muxadd_t) (
|
||||
moo_t* moo,
|
||||
moo_ooi_t io_handle,
|
||||
moo_ooi_t masks
|
||||
);
|
||||
|
||||
typedef void (*moo_vmprim_muxwait_cb_t) (moo_t* moo, moo_ooi_t io_handle, moo_ooi_t mask);
|
||||
typedef void (*moo_vmprim_muxwait_t) (moo_t* moo, const moo_ntime_t* duration, moo_vmprim_muxwait_cb_t muxwcb);
|
||||
typedef int (*moo_vmprim_muxmod_t) (
|
||||
moo_t* moo,
|
||||
moo_ooi_t io_handle,
|
||||
moo_ooi_t masks
|
||||
);
|
||||
|
||||
typedef int (*moo_vmprim_muxdel_t) (
|
||||
moo_t* moo,
|
||||
moo_ooi_t io_handle
|
||||
);
|
||||
|
||||
typedef void (*moo_vmprim_muxwait_cb_t) (
|
||||
moo_t* moo,
|
||||
moo_ooi_t io_handle,
|
||||
moo_ooi_t masks
|
||||
);
|
||||
|
||||
typedef void (*moo_vmprim_muxwait_t) (
|
||||
moo_t* moo,
|
||||
const moo_ntime_t* duration,
|
||||
moo_vmprim_muxwait_cb_t muxwcb
|
||||
);
|
||||
|
||||
typedef void (*moo_vmprim_sleep_t) (
|
||||
moo_t* moo,
|
||||
const moo_ntime_t* duration
|
||||
);
|
||||
|
||||
typedef void (*moo_vmprim_sleep_t) (moo_t* moo, const moo_ntime_t* duration);
|
||||
struct moo_vmprim_t
|
||||
{
|
||||
moo_vmprim_dlopen_t dl_open;
|
||||
@ -1271,8 +1297,8 @@ struct moo_t
|
||||
moo_oow_t sem_io_count;
|
||||
moo_oow_t sem_io_wait_count;
|
||||
|
||||
moo_ooi_t sem_io_map[10240]; /* TODO: make it dynamic */
|
||||
|
||||
moo_ooi_t* sem_io_map;
|
||||
moo_oow_t sem_io_map_capa;
|
||||
|
||||
/* semaphore to notify finalizable objects */
|
||||
moo_oop_semaphore_t sem_gcfin;
|
||||
|
Reference in New Issue
Block a user