From 8e1c982d09847bd9f28151e70a09d8fd2a2dce94 Mon Sep 17 00:00:00 2001 From: James Willis <james.s.willis@durham.ac.uk> Date: Fri, 13 Apr 2018 13:35:49 +0800 Subject: [PATCH] VELOCIraptor init and invoke functions now return 1 or 0 depending on if an error occurred. --- src/velociraptor_interface.c | 4 ++-- src/velociraptor_interface.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/velociraptor_interface.c b/src/velociraptor_interface.c index 77eb9fa9dc..218beb1976 100644 --- a/src/velociraptor_interface.c +++ b/src/velociraptor_interface.c @@ -135,7 +135,7 @@ void velociraptor_init(struct engine *e) { message("No. of top-level cells: %d", sim_info.numcells); message("Top-level cell locations range: (%e,%e,%e) -> (%e,%e,%e)", sim_info.cellloc[0].loc[0], sim_info.cellloc[0].loc[1], sim_info.cellloc[0].loc[2], sim_info.cellloc[sim_info.numcells - 1].loc[0], sim_info.cellloc[sim_info.numcells - 1].loc[1], sim_info.cellloc[sim_info.numcells - 1].loc[2]); - InitVelociraptor(configfilename, outputFileName, cosmo_info, unit_info, sim_info); + if(!InitVelociraptor(configfilename, outputFileName, cosmo_info, unit_info, sim_info)) error("Exiting. VELOCIraptor initialisation failed."); /* Free cell locations after VELOCIraptor has copied them. */ //free(sim_info.cellloc); @@ -194,7 +194,7 @@ void velociraptor_invoke(struct engine *e) { e->time); } - InvokeVelociraptor(nr_gparts, nr_hydro_parts, gparts, cell_node_ids, outputFileName); + if(!InvokeVelociraptor(nr_gparts, nr_hydro_parts, gparts, cell_node_ids, outputFileName)) error("Exiting. Call to VELOCIraptor failed."); /* Reset the pthread affinity mask after VELOCIraptor returns. */ pthread_setaffinity_np(thread, sizeof(cpu_set_t), engine_entry_affinity()); diff --git a/src/velociraptor_interface.h b/src/velociraptor_interface.h index 4ae0e713af..cc4002dbdc 100644 --- a/src/velociraptor_interface.h +++ b/src/velociraptor_interface.h @@ -68,8 +68,8 @@ struct siminfo { }; /* VELOCIraptor interface. */ -void InitVelociraptor(char* config_name, char* output_name, struct cosmoinfo cosmo_info, struct unitinfo unit_info, struct siminfo sim_info); -void InvokeVelociraptor(const int num_gravity_parts, const int num_hydro_parts, struct gpart *gravity_parts, const int *cell_node_ids, char* output_name); +int InitVelociraptor(char* config_name, char* output_name, struct cosmoinfo cosmo_info, struct unitinfo unit_info, struct siminfo sim_info); +int InvokeVelociraptor(const int num_gravity_parts, const int num_hydro_parts, struct gpart *gravity_parts, const int *cell_node_ids, char* output_name); /* VELOCIraptor wrapper functions. */ void velociraptor_init(struct engine *e); -- GitLab