diff --git a/src/sdsdkv-client.h b/src/sdsdkv-client.h index dacfdba..fbee061 100644 --- a/src/sdsdkv-client.h +++ b/src/sdsdkv-client.h @@ -45,6 +45,12 @@ struct sdsdkv_client : public personality { // used for Mercury progress. static const int rpc_thread_count = -1; // + // TODO(skg) For both the client and the server, figure out if we want + // progress threads and what the rpc thread count sould be for both. + + // Wait for server-side setup completion. + m_mpi->barrier(m_mpi->get_world_comm()); + // m_mid = margo_init( m_config->comm_protocol.c_str(), MARGO_CLIENT_MODE, @@ -74,6 +80,8 @@ struct sdsdkv_client : public personality { int m_db_init(void) { + printf("client here..\n"); + // hg_size_t gsize = ssg_get_group_size(m_gid); // for (decltype(gsize) i = 0; i < gsize; ++i) { diff --git a/src/sdsdkv-server.h b/src/sdsdkv-server.h index ecdf48b..43e73aa 100644 --- a/src/sdsdkv-server.h +++ b/src/sdsdkv-server.h @@ -68,12 +68,15 @@ struct sdsdkv_server : public personality { MARGO_SERVER_MODE, use_progress_thread, m_config->rpc_thread_count - ); + ); if (m_mid == MARGO_INSTANCE_NULL) { return SDSDKV_ERR_SERVICE; } // margo_enable_remote_shutdown(m_mid); + // Make sure that server setup is done before moving on. Note that the + // clients will wait for all servers to init before starting their init. + m_mpi->barrier(m_mpi->get_world_comm()); // return SDSDKV_SUCCESS; }