Commit 16c4d990 authored by Philip Carns's avatar Philip Carns
Browse files

eliminate dedicated progress pool from clients

parent b3f12b8c
...@@ -43,8 +43,6 @@ int main(int argc, char **argv) ...@@ -43,8 +43,6 @@ int main(int argc, char **argv)
ABT_xstream xstream; ABT_xstream xstream;
ABT_pool pool; ABT_pool pool;
margo_instance_id mid; margo_instance_id mid;
ABT_xstream progress_xstream;
ABT_pool progress_pool;
hg_context_t *hg_context; hg_context_t *hg_context;
hg_class_t *hg_class; hg_class_t *hg_class;
hg_addr_t svr_addr = HG_ADDR_NULL; hg_addr_t svr_addr = HG_ADDR_NULL;
...@@ -107,22 +105,14 @@ int main(int argc, char **argv) ...@@ -107,22 +105,14 @@ int main(int argc, char **argv)
return(-1); return(-1);
} }
/* create a dedicated ES drive Mercury progress */
ret = ABT_snoozer_xstream_create(1, &progress_pool, &progress_xstream);
if(ret != 0)
{
fprintf(stderr, "Error: ABT_snoozer_xstream_create()\n");
return(-1);
}
/* actually start margo */ /* actually start margo */
/* provide argobots pools for driving communication progress and /* Use main process to drive progress (it will relinquish control to
* executing rpc handlers as well as class and context for Mercury * Mercury during blocking communication calls). The rpc handler pool
* communication. The rpc handler pool is null in this example program * is null in this example program because this is a pure client that
* because this is a pure client that will not be servicing rpc requests. * will not be servicing rpc requests.
*/ */
/***************************************/ /***************************************/
mid = margo_init_pool(progress_pool, ABT_POOL_NULL, hg_context); mid = margo_init_pool(pool, ABT_POOL_NULL, hg_context);
/* register RPC */ /* register RPC */
my_rpc_id = MERCURY_REGISTER(hg_class, "my_rpc", my_rpc_in_t, my_rpc_out_t, my_rpc_id = MERCURY_REGISTER(hg_class, "my_rpc", my_rpc_in_t, my_rpc_out_t,
...@@ -183,9 +173,6 @@ int main(int argc, char **argv) ...@@ -183,9 +173,6 @@ int main(int argc, char **argv)
/* shut down everything */ /* shut down everything */
margo_finalize(mid); margo_finalize(mid);
ABT_xstream_join(progress_xstream);
ABT_xstream_free(&progress_xstream);
ABT_finalize(); ABT_finalize();
HG_Context_destroy(hg_context); HG_Context_destroy(hg_context);
......
...@@ -43,8 +43,6 @@ int main(int argc, char **argv) ...@@ -43,8 +43,6 @@ int main(int argc, char **argv)
ABT_xstream xstream; ABT_xstream xstream;
ABT_pool pool; ABT_pool pool;
margo_instance_id mid; margo_instance_id mid;
ABT_xstream progress_xstream;
ABT_pool progress_pool;
hg_context_t *hg_context; hg_context_t *hg_context;
hg_class_t *hg_class; hg_class_t *hg_class;
hg_addr_t svr_addr = HG_ADDR_NULL; hg_addr_t svr_addr = HG_ADDR_NULL;
...@@ -99,30 +97,21 @@ int main(int argc, char **argv) ...@@ -99,30 +97,21 @@ int main(int argc, char **argv)
{ {
fprintf(stderr, "Error: ABT_xstream_self()\n"); fprintf(stderr, "Error: ABT_xstream_self()\n");
return(-1); return(-1);
} } ret = ABT_xstream_get_main_pools(xstream, 1, &pool);
ret = ABT_xstream_get_main_pools(xstream, 1, &pool);
if(ret != 0) if(ret != 0)
{ {
fprintf(stderr, "Error: ABT_xstream_get_main_pools()\n"); fprintf(stderr, "Error: ABT_xstream_get_main_pools()\n");
return(-1); return(-1);
} }
/* create a dedicated ES drive Mercury progress */
ret = ABT_snoozer_xstream_create(1, &progress_pool, &progress_xstream);
if(ret != 0)
{
fprintf(stderr, "Error: ABT_snoozer_xstream_create()\n");
return(-1);
}
/* actually start margo */ /* actually start margo */
/* provide argobots pools for driving communication progress and /* Use main process to drive progress (it will relinquish control to
* executing rpc handlers as well as class and context for Mercury * Mercury during blocking communication calls). The rpc handler pool
* communication. The rpc handler pool is null in this example program * is null in this example program because this is a pure client that
* because this is a pure client that will not be servicing rpc requests. * will not be servicing rpc requests.
*/ */
/***************************************/ /***************************************/
mid = margo_init_pool(progress_pool, ABT_POOL_NULL, hg_context); mid = margo_init_pool(pool, ABT_POOL_NULL, hg_context);
/* register RPC */ /* register RPC */
my_rpc_id = MERCURY_REGISTER(hg_class, "my_rpc", my_rpc_in_t, my_rpc_out_t, my_rpc_id = MERCURY_REGISTER(hg_class, "my_rpc", my_rpc_in_t, my_rpc_out_t,
...@@ -185,9 +174,6 @@ int main(int argc, char **argv) ...@@ -185,9 +174,6 @@ int main(int argc, char **argv)
/* shut down everything */ /* shut down everything */
margo_finalize(mid); margo_finalize(mid);
ABT_xstream_join(progress_xstream);
ABT_xstream_free(&progress_xstream);
ABT_finalize(); ABT_finalize();
HG_Context_destroy(hg_context); HG_Context_destroy(hg_context);
......
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