From 7527ed7d6f3d122e2b00e919c4a8d993b1e196be Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Mon, 22 Apr 2002 12:12:14 -0500 Subject: [svn-r5218] Purpose: New feature Description: Added h5_show_hostname to display the hostname of the host in which the process runs. It can help identify location of process in multiple processes or batch launching environments. Platforms tested: Eirene (pp) --- test/h5test.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ test/h5test.h | 3 ++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/test/h5test.c b/test/h5test.c index 2f8e183..08de54a 100644 --- a/test/h5test.c +++ b/test/h5test.c @@ -503,3 +503,47 @@ h5_no_hwconv(void) { H5Tunregister(H5T_PERS_HARD, NULL, -1, -1, NULL); } + + +/*------------------------------------------------------------------------- + * Function: h5_show_hostname + * + * Purpose: Show hostname. Show process ID if in MPI environment. + * + * Return: void + * + * Programmer: Albert Cheng + * 2002/04/22 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +void +h5_show_hostname(void) +{ + char hostname[80]; + + /* try show the process or thread id in multiple processes cases*/ +#ifdef H5_HAVE_PARALLEL + { + int mpi_rank, mpi_initialized; + + MPI_Initialized(&mpi_initialized); + if (mpi_initialized){ + MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank); + printf("MPI-process %d.", mpi_rank); + }else + printf("thread 0."); + } +#elif defined(H5_HAVE_THREADSAFE) + printf("thread %d.", (int)pthread_self()); +#else + printf("thread 0."); +#endif + if (gethostname(hostname, 80) < 0){ + printf(" gethostname failed\n"); + } + else + printf(" hostname=%s\n", hostname); +} diff --git a/test/h5test.h b/test/h5test.h index 9614b30..cc627ab 100644 --- a/test/h5test.h +++ b/test/h5test.h @@ -1,5 +1,5 @@ /* - * Copyright © 1998 NCSA + * Copyright (c) 1998-2002 NCSA * All rights reserved. * * Programmer: Robb Matzke @@ -59,6 +59,7 @@ char *h5_fixname(const char *base_name, hid_t fapl, char *fullname, hid_t h5_fileaccess(void); void h5_no_hwconv(void); void h5_reset(void); +void h5_show_hostname(void); #ifdef __cplusplus } -- cgit v0.12