They should be the same type, but they shouldn't be a type that is specific to one particular choice of operating system. pid_t isn't a universal type. int64_t might be sufficient to contain any simple enumeration of processes; otherwise, we'll need to define a type and the accessors for it. Bill On Mar 16, 2009, at 3:03 PM, Geoffrey R. Paulsen wrote:
Hello, I noticed a difference in the type used to declare pids in two different areas, and I'm curious:
1) Why aren't they the same type? 2) Why aren't we using a standardzed type like pid_t ?
Location 1) http://www.mcs.anl.gov/research/projects/mpi/mpi-debug/
Taken from: mpich/mpid/ch2/attach.h
typedef struct { char * host_name; /* Something we can pass to inet_addr */ char * executable_name; /* The name of the image */ int pid; /* The pid of the process */ } MPIR_PROCDESC;
Location 2) http://www.mcs.anl.gov/research/projects/mpi/mpi-debug/mpi_interface.h.html
Taken from: mpich/src/infoexport/mpi_interface.h
#if (FOR_MPI2) /* For handling attachment to new processes in MPI-2 we need to know * where they are. */ typedef struct mqs_process_location { long pid; char image_name [FILENAME_MAX]; char host_name [64]; } mqs_process_location; #endif
These two structures look to have similar purposes. Is one a "newer" version of the other? Are they from different MPI implementations of the MSQ?
Thanks, Geoff Paulsen
_______________________________________________ Mpi3-tools mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools
William Gropp Deputy Director for Research Institute for Advanced Computing Applications and Technologies Paul and Cynthia Saylor Professor of Computer Science University of Illinois Urbana-Champaign