Commit 917566c1 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Pass a (dummy) handler argument into waiter-instantiation

parent eb65a574
......@@ -211,7 +211,7 @@ child_main(void)
Lck_New(&vxid_lock, lck_vxid);
WAIT_Init();
WAIT_Init(NULL);
PAN_Init();
CLI_Init();
VFP_Init();
......
......@@ -51,14 +51,14 @@ WAIT_GetName(void)
}
void
WAIT_Init(void)
WAIT_Init(waiter_handle_f *func)
{
AN(waiter);
AN(waiter->name);
AN(waiter->init);
AN(waiter->pass);
waiter_priv = waiter->init();
waiter_priv = waiter->init(func);
}
int
......
......@@ -232,10 +232,11 @@ vwe_pass(void *priv, struct sess *sp)
/*--------------------------------------------------------------------*/
static void *
vwe_init(void)
vwe_init(waiter_handle_f *func)
{
struct vwe *vwe;
(void)func;
ALLOC_OBJ(vwe, VWE_MAGIC);
AN(vwe);
VTAILQ_INIT(&vwe->sesshead);
......
......@@ -228,10 +228,11 @@ vwk_pass(void *priv, struct sess *sp)
/*--------------------------------------------------------------------*/
static void *
vwk_init(void)
vwk_init(waiter_handle_f *func)
{
struct vwk *vwk;
(void)func;
ALLOC_OBJ(vwk, VWK_MAGIC);
AN(vwk);
......
......@@ -205,10 +205,11 @@ vwp_poll_pass(void *priv, struct sess *sp)
/*--------------------------------------------------------------------*/
static void *
vwp_poll_init(void)
vwp_poll_init(waiter_handle_f *func)
{
struct vwp *vwp;
(void)func;
ALLOC_OBJ(vwp, VWP_MAGIC);
AN(vwp);
VTAILQ_INIT(&vwp->sesshead);
......
......@@ -256,10 +256,11 @@ vws_pass(void *priv, struct sess *sp)
/*--------------------------------------------------------------------*/
static void *
vws_init(void)
vws_init(waiter_handle_f *func)
{
struct vws *vws;
(void)func
ALLOC_OBJ(vws, VWS_MAGIC);
AN(vws);
VTAILQ_INIT(&vws->sesshead);
......
......@@ -30,7 +30,14 @@
struct sess;
typedef void* waiter_init_f(void);
enum wait_event {
WAITER_REMCLOSE,
WAITER_TIMEOUT,
WAITER_ACTION
};
typedef void waiter_handle_f(void *ptr, int fd, enum wait_event);
typedef void* waiter_init_f(waiter_handle_f *);
typedef int waiter_pass_f(void *priv, struct sess *);
#define WAITER_DEFAULT "platform dependent"
......@@ -43,7 +50,7 @@ struct waiter {
/* cache_waiter.c */
int WAIT_Enter(struct sess *sp);
void WAIT_Init(void);
void WAIT_Init(waiter_handle_f *);
const char *WAIT_GetName(void);
int WAIT_Write_Session(struct sess *sp, int fd);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment