[mpich2-commits] r7655 - in mpich2/branches/release/mpich2-1.3.x: . confdb maint src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp src/mpl/src src/pm/hydra src/pm/hydra/examples src/pm/hydra/include src/pm/hydra/pm src/pm/hydra/pm/pmiserv src/pm/hydra/tools src/pm/hydra/tools/bind src/pm/hydra/tools/bind/hwloc src/pm/hydra/tools/bind/plpa src/pm/hydra/tools/bootstrap/external src/pm/hydra/tools/bootstrap/persist src/pm/hydra/tools/bootstrap/src src/pm/hydra/tools/bootstrap/utils src/pm/hydra/tools/ckpoint src/pm/hydra/tools/ckpoint/blcr src/pm/hydra/tools/debugger src/pm/hydra/tools/demux src/pm/hydra/tools/ftb src/pm/hydra/tools/nameserver src/pm/hydra/ui src/pm/hydra/ui/include src/pm/hydra/ui/mpich src/pm/hydra/ui/utils src/pm/hydra/utils src/pm/hydra/utils/alloc src/pm/hydra/utils/args src/pm/hydra/utils/dbg src/pm/hydra/utils/env src/pm/hydra/utils/launch src/pm/hydra/utils/others src/pm/hydra/utils/signals src/pm/hydra/utils/sock src/pm/hydra/utils/string

balaji at mcs.anl.gov balaji at mcs.anl.gov
Mon Jan 3 08:20:31 CST 2011


Author: balaji
Date: 2011-01-03 08:20:31 -0600 (Mon, 03 Jan 2011)
New Revision: 7655

Added:
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h
Removed:
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h
Modified:
   mpich2/branches/release/mpich2-1.3.x/
   mpich2/branches/release/mpich2-1.3.x/README.vin
   mpich2/branches/release/mpich2-1.3.x/confdb/
   mpich2/branches/release/mpich2-1.3.x/maint/Version
   mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
   mpich2/branches/release/mpich2-1.3.x/src/mpl/src/mplstr.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/Makefile.am
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/README
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/autogen.sh
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/configure.in
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/examples/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/hydra-doxygen.cfg.in
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/mpich2prereq
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c
   mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c
   mpich2/branches/release/mpich2-1.3.x/winconfigure.wsf
Log:
Merge r7651, r7652, r7653, and r7654 from trunk.


Property changes on: mpich2/branches/release/mpich2-1.3.x
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt:5050
/mpich2/branches/dev/ckpt2:5057-6537
/mpich2/branches/dev/ftb:5661-5730
/mpich2/branches/dev/lapi:5817
/mpich2/branches/dev/wintcp_async_progress:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2:5406
/mpich2/trunk:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt:5050
/mpich2/branches/dev/ckpt2:5057-6537
/mpich2/branches/dev/ftb:5661-5730
/mpich2/branches/dev/lapi:5817
/mpich2/branches/dev/wintcp_async_progress:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2:5406
/mpich2/trunk:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/README.vin
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/README.vin	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/README.vin	2011-01-03 14:20:31 UTC (rev 7655)
@@ -26,62 +26,58 @@
 on bug fixes and new releases.
 
   
-I.    Getting Started
-II.   Alternate Configure Options
-III.  Compiler Flags
-IV.   Alternate Channels and Devices
-V.    Alternate Process Managers
-VI.   VPATH Builds
-VII.  Shared Libraries
-VIII. Other Features
-IX.   Checkpoint/Restart
-X.    Environment Variables
-XI.   Developer Builds
-XII.  Building ROMIO into MPICH2
-XIII. Testing the MPICH2 installation
-XIV.  Installing MPICH2 on windows
-XV.   Multiple Fortran compiler support.
+1.  Getting Started
+2.  Compiler Flags
+3.  Alternate Channels and Devices
+4.  Alternate Process Managers
+5.  Alternate Configure Options
+6.  Testing the MPICH2 installation
+7.  Checkpoint/Restart
+8.  Environment Variables
+9.  Developer Builds
+10. Installing MPICH2 on windows
+11. Multiple Fortran compiler support
 
 
 -------------------------------------------------------------------------
 
-I. Getting Started
+1. Getting Started
 ==================
 
 The following instructions take you through a sequence of steps to get
 the default configuration (ch3 device, nemesis channel (with TCP and
 shared memory), Hydra process management) of MPICH2 up and running.
 
-1.  You will need the following prerequisites.
+(a) You will need the following prerequisites.
 
-    - This tar file mpich2-%VERSION%.tar.gz
+    - REQUIRED: This tar file mpich2-%VERSION%.tar.gz
 
-    - A C compiler (gcc is sufficient)
+    - REQUIRED: A C compiler (gcc is sufficient)
 
-    - A Fortran compiler if Fortran applications are to be used
-      (g77 or gfortran is sufficient) 
+    - OPTIONAL: A C++ compiler, if C++ applications are to be used
+      (g++, etc.). If you do not require support for C++ applications,
+      you can disable this support using the configure option
+      --disable-cxx (configuring MPICH2 is described in step 1(d)
+      below).
 
-    - A C++ compiler for the C++ MPI bindings (g++ is sufficient)
+    - OPTIONAL: A Fortran 77 compiler, if Fortran 77 applications are
+      to be used (gfortran, ifort, etc.). If you do not require
+      support for Fortran 77 applications, you can disable this
+      support using --disable-f77 (configuring MPICH2 is described in
+      step 1(d) below).
 
-    - If a Fortran 90 compiler is found, by default MPICH2 will
-      attempt to build a basic MPI module.  This module contains the
-      MPI routines that do not contain "choice" arguments; i.e., the module
-      does not contain any of the communication routines, such as
-      MPI_Send, that can take arguments of different type.  You may still
-      use those routines, however, the MPI module does not contain
-      interface specifications for them. If you have trouble with the
-      configuration step and do not need Fortran 90, configure with
-      --disable-fc .
+    - OPTIONAL: A Fortran 90 compiler, if Fortran 90 applications are
+      to be used (gfortran, ifort, etc.). If you do not require
+      support for Fortran 90 applications, you can disable this
+      support using --disable-fc. Note that Fortran 77 support is a
+      prerequisite for Fortran 90 support (configuring MPICH2 is
+      described in step 1(d) below).
 
-    Configure will check for these prerequisites and try to work around
-    deficiencies if possible.  (If you don't have Fortran, you will
-    still be able to use MPICH2, just not with Fortran applications.)
-
     Also, you need to know what shell you are using since different shell
     has different command syntax. Command "echo $SHELL" prints out the
     current shell used by your terminal program.
 
-2.  Unpack the tar file and go to the top level directory:
+(b) Unpack the tar file and go to the top level directory:
 
       tar xzf mpich2-%VERSION%.tar.gz
       cd mpich2-%VERSION%
@@ -92,15 +88,14 @@
       tar xf mpich2-%VERSION%.tar
       cd mpich2-%VERSION%
 
-3.  Choose an installation directory, say /home/<USERNAME>/mpich2-install,
-    which is assumed to non-existent or empty. It will be most
-    convenient if this directory is shared by all of the machines
-    where you intend to run processes.  If not, you will have 
-    to duplicate it on the other machines after installation.
+(c) Choose an installation directory, say
+    /home/<USERNAME>/mpich2-install, which is assumed to non-existent
+    or empty. It will be most convenient if this directory is shared
+    by all of the machines where you intend to run processes. If not,
+    you will have to duplicate it on the other machines after
+    installation.
 
-4.  Configure MPICH2 specifying the installation directory (the steps
-    described here are called inpath build; we recommend user to do
-    a vpath build if possible, see further below):
+(d) Configure MPICH2 specifying the installation directory:
 
     for csh and tcsh:
 
@@ -111,15 +106,25 @@
       ./configure --prefix=/home/<USERNAME>/mpich2-install 2>&1 | tee c.txt
 
     Bourne-like shells, sh and bash, accept "2>&1 |".  Csh-like shell,
-    csh and tcsh, accept "|&".  File c.txt is used to store all messages
-    generated configure command and is useful for diagnosis if something
-    goes wrong.  Other configure options are described below.  You might
-    also prefer to do a VPATH build (see below).  Check the c.txt file
-    to make sure everything went well.  Problems should be self-explanatory,
-    but if not, please attach c.txt to your bug report.
+    csh and tcsh, accept "|&". If a failure occurs, the configure
+    command will display the error. Most errors are straight-forward
+    to follow. For example, if the configure command fails with:
 
-5.  Build MPICH2:
+       "No Fortran 77 compiler found. If you don't need to build any
+        Fortran programs, you can disable Fortran support using
+        --disable-f77 and --disable-fc. If you do want to build
+        Fortran programs, you need to install a Fortran compiler such
+        as gfortran or ifort before you can proceed."
 
+    ... it means that you don't have a Fortran compiler :-). You will
+    need to either install one, or disable Fortran support in MPICH2.
+
+    If you are unable to understand what went wrong, please go to step
+    1(i) below, for reporting the issue to the MPICH2 developers and
+    other users.
+
+(e) Build MPICH2:
+
     for csh and tcsh:
 
       make |& tee m.txt
@@ -129,8 +134,8 @@
       make 2>&1 | tee m.txt
 
     This step should succeed if there were no problems with the
-    preceding step.  Check file m.txt. If there were problems,
-    do a "make clean" and then run make again with V=1
+    preceding step. Check file m.txt. If there were problems, do a
+    "make clean" and then run make again with V=1.
 
       make V=1 |& tee m.txt       (for csh and tcsh)
 
@@ -138,9 +143,10 @@
 
       make V=1 2>&1 | tee m.txt   (for bash and sh)
 
-    and then attach m.txt and c.txt to your bug report.
+    Then go to step 1(i) below, for reporting the issue to the MPICH2
+    developers and other users.
 
-6.  Install the MPICH2 commands:
+(f) Install the MPICH2 commands:
 
     for csh and tcsh:
 
@@ -152,25 +158,12 @@
 
     This step collects all required executables and scripts in the bin
     subdirectory of the directory specified by the prefix argument to
-    configure. 
+    configure.
 
-    (For users who want an install directory structure compliant to
-     GNU coding standards (i.e., documentation files go to 
-     ${datarootdir}/doc/${PACKAGE}, architecture-independent
-     read-only files go to ${datadir}/${PACKAGE}), replace
-     "make install" by
+(g) Add the bin subdirectory of the installation directory to your
+    path in your startup script (.bashrc for bash, .cshrc for csh,
+    etc.):
 
-       make install PACKAGE=mpich2-<versrion>
-
-     and corresponding installcheck step should be
-
-       make installcheck PACKAGE=mpich2-<version>
-
-    Setting PACKAGE in "make install" or "installcheck" step is optional
-    and unnecessary for typical MPI users.)
-
-7.  Add the bin subdirectory of the installation directory to your path:
-
     for csh and tcsh:
 
       setenv PATH /home/<USERNAME>/mpich2-install/bin:$PATH
@@ -179,94 +172,102 @@
   
       PATH=/home/<USERNAME>/mpich2-install/bin:$PATH ; export PATH
 
-    Check that everything is in order at this point by doing 
+    Check that everything is in order at this point by doing:
 
       which mpicc
       which mpiexec
 
-    All should refer to the commands in the bin subdirectory of your
-    install directory.  It is at this point that you will need to
-    duplicate this directory on your other machines if it is not
-    in a shared file system such as NFS.
+    These commands should display the path to your bin subdirectory of
+    your install directory.
 
-8.  MPICH2 uses an external process manager for scalable startup of
-    large MPI jobs.  The default process manager is called Hydra. More
-    details on interacting with Hydra can be found at
-    http://wiki.mcs.anl.gov/mpich2/index.php/Using_the_Hydra_Process_Manager
+    IMPORTANT NOTE: The install directory has to be visible at exactly
+    the same path on all machines you want to run your applications
+    on. This is typically achieved by installing MPICH2 on a shared
+    NFS file-system. If you do not have a shared NFS directory, you
+    will need to manually copy the install directory to all machines
+    at exactly the same location.
 
-    To start a job on your local machine, you can use:
+(h) MPICH2 uses a process manager for starting MPI applications. The
+    process manager provides the "mpiexec" executable, together with
+    other utility executables. MPICH2 comes packaged with multiple
+    process managers; the default is called Hydra.
 
-      mpiexec -n <number> ./examples/cpi
-
-9. Test that you can run a multi-node job:
-
-      mpiexec -f machinefile -n <number> ./examples/cpi
-
-10. Now we will run an MPI job, using the mpiexec command as specified
-    in the MPI-2 standard.  There are some examples in the install
+    Now we will run an MPI job, using the mpiexec command as specified
+    in the MPI-2 standard. There are some examples in the install
     directory, which you have already put in your path, as well as in
-    the directory mpich2-%VERSION%/examples.  One of them is the
-    classic cpi example, which computes the value of pi by numerical
+    the directory mpich2-%VERSION%/examples. One of them is the
+    classic CPI example, which computes the value of pi by numerical
     integration in parallel.
 
-      mpiexec -f machinefile -n 5 ./examples/cpi
+    To run the CPI example with 'n' processes on your local machine,
+    you can use:
 
-    The cpi example will tell you which hosts it is running on.
+      mpiexec -n <number> ./examples/cpi
 
-    For additional mpiexec options, do:
+    Test that you can run an 'n' process CPI job on multiple nodes:
 
-      mpiexec --help
+      mpiexec -f machinefile -n <number> ./examples/cpi
 
-If you have completed all of the above steps, you have successfully
-installed MPICH2 and run an MPI example.  
+    The 'machinefile' is of the form:
 
-More details on arguments to mpiexec are given in the User's Guide in
-the doc subdirectory. Also in the User's Guide you will find help on
-debugging. MPICH2 has support for the TotalView debugger, as well as
-some other approaches described there.
+      host1
+      host2:2
+      host3:4   # Random comments
+      host4:1
 
--------------------------------------------------------------------------
+    'host1', 'host2', 'host3' and 'host4' are the hostnames of the
+    machines you want to run the job on. The ':2', ':4', ':1' segments
+    depict the number of processes you want to run on each node. If
+    nothing is specified, ':1' is assumed.
 
-II. Alternate Configure Options
-===============================
+    More details on interacting with Hydra can be found at
+    http://wiki.mcs.anl.gov/mpich2/index.php/Using_the_Hydra_Process_Manager
 
-The above steps utilized the MPICH2 defaults, which included choosing
-TCP and shared memory for communication (via the "nemesis" channel)
-and the Hydra process manager. Other alternatives are available.  You
-can find out about configuration alternatives with
+If you have completed all of the above steps, you have successfully
+installed MPICH2 and run an MPI example.
 
-   ./configure --help
+(i) If you run into any errors configuring, building or running
+MPICH2, please send the below files to mpich-discuss at mcs.anl.gov.
+PLEASE COMPRESS BEFORE SENDING, AS THE FILES CAN BE LARGE. Note that,
+depending on which step the build failed, some of the files might not
+exist.
 
-in the mpich2 directory.  The alternatives described below are
-configured by adding arguments to the configure step.
+    mpich2-%VERSION%/c.txt (generated in step 1(d) above)
+    mpich2-%VERSION%/m.txt (generated in step 1(e) above)
+    mpich2-%VERSION%/mi.txt (generated in step 1(f) above)
+    mpich2-%VERSION%/config.log (generated in step 1(d) above)
+    mpich2-%VERSION%/src/openpa/config.log (generated in step 1(d) above)
 
+More details on arguments to mpiexec are given in the User's Guide in
+the doc subdirectory.
+
 -------------------------------------------------------------------------
 
-III. Compiler Flags
-===================
+2. Compiler Flags
+=================
 
 MPICH2 allows several sets of compiler flags to be used. The first
 three sets are configure-time options for MPICH2, while the fourth is
 only relevant when compiling applications with mpicc and friends.
 
-1. CFLAGS, CPPFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, LDFLAGS and LIBS
+(a) CFLAGS, CPPFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, LDFLAGS and LIBS
 (abbreviated as xFLAGS): Setting these flags would result in the
 MPICH2 library being compiled/linked with these flags and the flags
 internally being used in mpicc and friends.
 
-2. MPICH2LIB_CFLAGS, MPICH2LIB_CPPFLAGS, MPICH2LIB_CXXFLAGS,
+(b) MPICH2LIB_CFLAGS, MPICH2LIB_CPPFLAGS, MPICH2LIB_CXXFLAGS,
 MPICH2LIB_FFLAGS, MPICH2LIB_FCFLAGS, MPICH2LIB_LDFLAGS and
 MPICH2LIB_LIBS (abbreviated as MPICH2LIB_xFLAGS): Setting these flags
 would result in the MPICH2 library being compiled/linked with these
 flags. However, these flags will *not* be used by mpicc and friends.
 
-3. MPICH2_MAKE_CFLAGS: Setting these flags would result in MPICH2's
+(c) MPICH2_MAKE_CFLAGS: Setting these flags would result in MPICH2's
 configure tests to not use these flags, but the makefile's to use
 them. This is a temporary hack for certain cases that advanced
-developers might be interested in which break existing configure tests
-(e.g., -Werror) and are not recommended for regular users.
+developers might be interested in, but which break existing configure
+tests (e.g., -Werror). These are NOT recommended for regular users.
 
-4. MPICH2_MPICC_FLAGS, MPICH2_MPICPP_FLAGS, MPICH2_MPICXX_FLAGS,
+(d) MPICH2_MPICC_FLAGS, MPICH2_MPICPP_FLAGS, MPICH2_MPICXX_FLAGS,
 MPICH2_MPIF77_FLAGS, MPICH2_MPIFC_FLAGS, MPICH2_LDFLAGS and
 MPICH2_LIBS (abbreviated as MPICH2_MPIX_FLAGS): These flags do *not*
 affect the compilation of the MPICH2 library itself, but will be
@@ -328,7 +329,8 @@
 
 Example 1:
 
-  ./configure --disable-fast MPICH2LIB_CFLAGS=-O3 MPICH2LIB_FFLAGS=-O3 MPICH2LIB_CXXFLAGS=-O3 MPICH2LIB_FCFLAGS=-O3
+  ./configure --disable-fast MPICH2LIB_CFLAGS=-O3 MPICH2LIB_FFLAGS=-O3 \
+        MPICH2LIB_CXXFLAGS=-O3 MPICH2LIB_FCFLAGS=-O3
 
 This will cause the MPICH2 libraries to be built with -O3, and -O3
 will *not* be included in the mpicc and other MPI wrapper script.
@@ -356,8 +358,8 @@
 
 -------------------------------------------------------------------------
 
-IV. Alternate Channels and Devices
-==================================
+3. Alternate Channels and Devices
+=================================
 
 The communication mechanisms in MPICH2 are called "devices". MPICH2
 supports several internal devices including ch3 (default), dcmfd (for
@@ -438,7 +440,6 @@
 using this for Nemesis may limit the number of processes that can be
 started on a single node.
 
-
 sock channel
 ------------
 sock is the traditional TCP sockets based communication channel. It
@@ -526,14 +527,15 @@
   AR=${DRIVER_PATH}/gnu-linux/bin/powerpc-bgp-linux-ar \
   LD=${DRIVER_PATH}/gnu-linux/bin/powerpc-bgp-linux-ld \
   MSGLAYER_INCLUDE="-I${DRIVER_PATH}/comm/include" \
-  MSGLAYER_LIB="-L${DRIVER_PATH}/comm/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -lrt -L$DRIVER_PATH/runtime/SPI -lSPI.cna" \
+  MSGLAYER_LIB="-L${DRIVER_PATH}/comm/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -lrt \
+      -L$DRIVER_PATH/runtime/SPI -lSPI.cna" \
   ./configure --with-device=dcmfd:BGP --with-pmi=no --with-pm=no --with-file-system=bgl \
   	      --enable-timer-type=device --with-cross=src/mpid/dcmfd/cross \
 	      --host=powerpc-bgp-linux --target=powerpc-bgp-linux --build=powerpc64-linux-gnu
 
 -------------------------------------------------------------------------
 
-V. Alternate Process Managers
+4. Alternate Process Managers
 =============================
 
 hydra
@@ -552,20 +554,19 @@
 
 smpd
 ---- 
-SMPD is a process management system for both Microsoft Windows and UNIX.
-SMPD is capable of starting a job where some processes are running on
-Windows and others are running on a variant of UNIX.  For more
-information, please see mpich2-%VERSION%/src/pm/smpd/README.
+SMPD is a process manager for interoperability between Microsoft
+Windows and UNIX, where some processes are running on Windows and
+others are running on a variant of UNIX. For more information, please
+see mpich2-%VERSION%/src/pm/smpd/README.
 
 gforker
 -------
-gforker is a process manager that creates processes on a single machine,
-by having mpiexec directly fork and exec them.  This mechanism is
-particularly appropriate for shared-memory multiprocessors (SMPs) where
-you want to create all the processes on the same machine.  gforker is
-also useful for debugging, where running all the processes on a single
-machine is often convenient.
 
+gforker is a process manager that creates processes on a single
+machine, by having mpiexec directly fork and exec them. gforker is
+mostly meant as a research platform and for debugging purposes, as it
+is only meant for single-node systems.
+
 slurm
 -----
 SLURM is an external process manager not distributed with
@@ -575,144 +576,136 @@
 
 -------------------------------------------------------------------------
 
-VI. VPATH Builds
-================
-MPICH2 supports building MPICH in a different directory tree than the
-one where the MPICH2 source is installed. This often allows faster
-building, as the sources can be placed in a shared filesystem and the
-builds done in a local (and hence usually much faster) filesystem.  To
-make this clear, the following example assumes that the sources are
-placed in /home/me/mpich2-<VERSION>, the build is done in
-/tmp/me/mpich2, and the installed version goes into
-/usr/local/mpich2-<VERSION>:
+5. Alternate Configure Options
+==============================
 
-  shell$ cd /home/me
-  shell$ tar xzf mpich2-<VERSION>.tar.gz
-  shell$ cd /tmp/me
+MPICH2 has a number of other features. If you are exploring MPICH2 as
+part of a development project, you might want to tweak the MPICH2
+build with the following configure options. A complete list of
+configuration options can be found using:
 
-  shell$ mkdir mpich2
-  shell$ cd mpich2
-  shell$ /home/me/mpich2-<VERSION>/configure --prefix=/usr/local/mpich2-<VERSION>
-  shell$ make
-  shell$ make install
+   ./configure --help
 
--------------------------------------------------------------------------
+However, for your convenience, we list a few important options here:
 
-VII. Shared Libraries
-=====================
-Shared libraries are currently only supported for gcc (and gcc-like
-compilers) on Linux and Mac and for cc on Solaris. To have shared
-libraries created when MPICH2 is built, specify the following when
-MPICH2 is configured:
-
-    configure --enable-shared
-
-For users who wish to manually control the linker parameters, this can
-be done using:
-
-    configure --enable-sharedlibs=gcc         (on Linux)
-    configure --enable-sharedlibs=osx-gcc     (on Mac OS X)
-    configure --enable-sharedlibs=solaris-cc  (on Solaris)
-
--------------------------------------------------------------------------
-
-VIII. Other Features
-====================
-
-MPICH2 has a number of other features. If you are exploring MPICH2 as
-part of a development project the following configure options are
-important:
-
 Performance Options:
 
  --enable-fast - Turns off error checking and collection of internal
                  timing information
 
  --enable-timing=no - Turns off just the collection of internal timing
-                 information
+                      information
 
  --enable-ndebug - Turns on NDEBUG, which disables asserts. This is a
-		subset of the optimizations provided by enable-fast,
-		but is useful in environments where the user wishes
-		to retain the debug symbols, e.g., this can be combined
-		with the --enable-g option.
+                   subset of the optimizations provided by
+                   enable-fast, but is useful in environments where
+                   the user wishes to retain the debug symbols, e.g.,
+                   this can be combined with the --enable-g option.
 
 MPI Features:
 
-  --enable-romio - Build the ROMIO implementation of MPI-IO.  This is
-                 the default
+  --enable-romio - Build the ROMIO implementation of MPI-IO (enabled
+                   by default).
 
   --with-file-system - When used with --enable-romio, specifies
-                 filesystems ROMIO should support.  See README.romio.
+                       filesystems ROMIO should support. They can be
+                       specified by passing them in a '+'-delimited
+                       list: (e.g.,
+                       --with-file-system="pvfs+nfs+ufs").
 
+                       If you have installed version 2 of the PVFS
+                       file system, you can use the
+                       '--with-pvfs2=<prefix>' configure option to
+                       specify where libraries, headers, and utilities
+                       have been installed. If you have added the pvfs
+                       utilities to your PATH, then ROMIO will detect
+                       this and build support for PVFS automatically.
+
   --enable-threads - Build MPICH2 with support for multi-threaded
-                 applications. Only the sock and nemesis channels support
-                 MPI_THREAD_MULTIPLE. 
+                     applications. Only the sock and nemesis channels
+                     support MPI_THREAD_MULTIPLE.
 
   --with-thread-package - When used with --enable-threads, this option
-                 specifies the thread package to use.  This option
-                 defaults to "posix".  At the moment, only POSIX
-                 threads are supported on UNIX platforms.  We plan to
-                 support Solaris threads in the future.
+                          specifies the thread package to use.  This
+                          option defaults to "posix".  At the moment,
+                          only POSIX threads are supported on UNIX
+                          platforms.  We plan to support Solaris
+                          threads in the future.
 
 Language bindings:
 
-  --enable-f77 - Build the Fortran 77 bindings.  This is the default.
-                 It has been tested with the Fortran parts of the Intel
-                 test suite.
+  --enable-f77 - Build the Fortran 77 bindings (enabled by default).
 
-  --enable-fc  - Build the Fortran 90 bindings.  This is on by default.
+  --enable-fc - Build the Fortran 90 bindings (enabled by default).
 
-  --enable-cxx - Build the C++ bindings.  This has been tested with the
-                 Notre Dame C++ test suite and some additional tests.
+  --enable-cxx - Build the C++ bindings (enabled by default).
 
+Shared library support:
+
+  --enable-shared - Enable shared library support. Shared libraries
+                    are currently only supported for gcc (and gcc-like
+                    compilers) on Linux and Mac and for cc on
+                    Solaris. To have shared libraries created when
+                    MPICH2 is built, specify the following when MPICH2
+                    is configured:
+
+  For users who wish to manually control the linker parameters, this
+  can be done using:
+
+  --enable-sharedlibs=gcc         (on Linux)
+  --enable-sharedlibs=osx-gcc     (on Mac OS X)
+  --enable-sharedlibs=solaris-cc  (on Solaris)
+
 Cross compilation:
 
   --with-cross=filename - Provide values for the tests that required
-                 running a program, such as the tests that configure
-                 uses to determine the sizes of the basic types.  This
-                 should be a fine in Bourne shell format containing
-                 variable assignment of the form
+                          running a program, such as the tests that
+                          configure uses to determine the sizes of the
+                          basic types.  This should be a fine in
+                          Bourne shell format containing variable
+                          assignment of the form
 
-                     CROSS_SIZEOF_INT=2
+                          CROSS_SIZEOF_INT=2
 
-                 for all of the CROSS_xxx variables.  A list will be
-                 provided in later releases; for now, look at the
-                 configure.in files.  This has not been completely
-                 tested.
+                          for all of the CROSS_xxx variables.
 
 Error checking and reporting:
 
-  --enable-error-checking=level - Control the amount of error checking.
-                 Currently, only "no" and "all" is supported; all is the
-                 default.
+  --enable-error-checking=level - Control the amount of error
+                                  checking. Currently, only "no" and
+                                  "all" is supported; all is the
+                                  default.
 
   --enable-error-messages=level - Control the aount of detail in error
-                 messages.  By default, MPICH2 provides
-                 instance-specific error messages; but, with this
-                 option, MPICH2 can be configured to provide less
-                 detailed messages.  This may be desirable on small
-                 systems, such as clusters built from game consoles or
-                 high-density massively parallel systems.  This is still
-                 under active development.
+                                  messages. By default, MPICH2
+                                  provides instance-specific error
+                                  messages; but, with this option,
+                                  MPICH2 can be configured to provide
+                                  less detailed messages.  This may be
+                                  desirable on small systems, such as
+                                  clusters built from game consoles or
+                                  high-density massively parallel
+                                  systems.  This is still under active
+                                  development.
 
 Compilation options for development:
 
   --enable-g=value - Controls the amount of debugging information
-                 collected by the code.  The most useful choice here is
-                 dbg, which compiles with -g.
+                     collected by the code.  The most useful choice
+                     here is dbg, which compiles with -g.
 
   --enable-coverage - An experimental option that enables GNU coverage
-                 analysis.
+                      analysis.
 
   --with-logging=name - Select a logging library for recording the
-                 timings of the internal routines.  We have used this to
-                 understand the performance of the internals of MPICH2.
-                 More information on the logging options, capabilities
-                 and usage can be found in doc/logging/logging.pdf.
+                        timings of the internal routines.  We have
+                        used this to understand the performance of the
+                        internals of MPICH2.  More information on the
+                        logging options, capabilities and usage can be
+                        found in doc/logging/logging.pdf.
 
-  --enable-timer-type=name -  Select the timer to use for MPI_Wtime
-                 and internal timestamps.  name may be one of:
+  --enable-timer-type=name - Select the timer to use for MPI_Wtime and
+                             internal timestamps.  name may be one of:
                      gethrtime        - Solaris timer (Solaris systems
                                         only) 
                      clock_gettime    - Posix timer (where available)
@@ -730,26 +723,37 @@
 
 -------------------------------------------------------------------------
 
-IX. Checkpoint/Restart
-======================
+6. Testing the MPICH2 installation
+==================================
 
+To test MPICH2, we package the MPICH2 test suite in the MPICH2
+distribution. You can run the test suite using:
+
+     make testing
+
+The results summary will be placed in test/summary.xml
+
+-------------------------------------------------------------------------
+
+7. Checkpoint/Restart
+=====================
+
 MPICH2 supports checkpointing and restart fault-tolerance using BLCR.
 
 Configuration
 -------------
+First, you need to have BLCR version 0.8.2 or later installed on your
+machine.  If it's installed in the default system location, add the
+following two options to your configure command:
 
-First, you need to have BLCR version 0.8.2 installed on your machine.
-If it's installed in the default system location, add the following
-two options to your configure command:
-
   --enable-checkpointing 
   --with-hydra-ckpointlib=blcr
 
 If BLCR is not installed in the default system location, you'll need
-to tell MPICH2's configure where to find it.  You might also need to
+to tell MPICH2's configure where to find it. You might also need to
 set the LD_LIBRARY_PATH environment variable so that BLCR's shared
 libraries can be found.  In this case add the following options to
-your configure comment:
+your configure command:
 
   --enable-checkpointing 
   --with-hydra-ckpointlib=blcr 
@@ -760,34 +764,34 @@
 installed (whatever was specified in --prefix when BLCR was
 configured).
 
+After it's configured compile as usual (e.g., make; make install).
+
 Note, checkpointing is only supported with the Hydra process manager.
-(Hyrda will configured by default, unless you choose something else
-with the --with-pm= configure option.)
 
-After it's configured compile as usual (e.g., make; make install).
 
-Running an Application
-----------------------
+Verifying Checkpointing Support
+-------------------------------
+Make sure MPICH2 is correctly configured with BLCR. You can do this
+using:
 
-Hydra provides checkpoint/restart capability.  Currently, only BLCR is
-being experimented with.  You can pick these through the mpiexec
-option -ckpointlib to specify the checkpointing library to use and
--ckpoint-prefix to specify the prefix of the file to write the
-checkpoint image to:
+  mpiexec -info
 
-  mpiexec -ckpointlib blcr -ckpoint-prefix /tmp/app.ckpoint -f hosts \
-  -n 4 ./app
+This should display 'BLCR' under 'Checkpointing libraries available'.
 
-While the application is running, the user can request for a
-checkpoint at any time by sending a SIGUSR1 signal to mpiexec.
 
-You can also automatically checkpoint the application at regular
-intervals using the mpiexec option -ckpoint-interval (seconds):
+Checkpointing the Application
+-----------------------------
+There are two ways to cause the application to checkpoint. You can ask
+mpiexec to periodically checkpoint the application using the mpiexec
+option -ckpoint-interval (seconds):
 
   mpiexec -ckpointlib blcr -ckpoint-prefix /tmp/app.ckpoint \
-  -ckpoint-interval 3600 -f hosts -n 4 ./app
+      -ckpoint-interval 3600 -f hosts -n 4 ./app
 
-The checkpoint/restart parameters can be controlled with the
+Alternatively, you can also manually force checkpointing by sending a
+SIGUSR1 signal to mpiexec.
+
+The checkpoint/restart parameters can also be controlled with the
 environment variables HYDRA_CKPOINTLIB, HYDRA_CKPOINT_PREFIX and
 HYDRA_CKPOINT_INTERVAL.
 
@@ -803,7 +807,7 @@
 
 -------------------------------------------------------------------------
 
-X. Environment Variables
+8. Environment Variables
 ========================
 
 MPICH2 provides several environment variables that have different
@@ -818,47 +822,6 @@
 
                ************************************
 
-  MPICH_INTERFACE_HOSTNAME - Network interface to use for
-         communication. By default MPICH2 picks the network interface
-         representing the hostname (gotten by gethostbyname). Consider
-         the following example:
-
-% /sbin/ifconfig
-
-eth0      Link encap:Ethernet  HWaddr 00:14:5E:57:C4:FA
-          inet addr:192.148.3.182  Bcast:192.148.248.255  Mask:255.255.255.0
-          inet6 addr: fe80::214:5eff:fe57:c4fa/64 Scope:Link
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
-          RX packets:989925894 errors:0 dropped:7186 overruns:0 frame:0
-          TX packets:1480277023 errors:0 dropped:0 overruns:0 carrier:0
-          collisions:0 txqueuelen:1000
-          RX bytes:441568994866 (411.2 GiB)  TX bytes:1864173370054 (1.6 TiB)
-          Interrupt:185 Memory:e2000000-e2012100
-
-myri0     Link encap:Ethernet  HWaddr 00:14:5E:57:C4:F8
-          inet addr:10.21.3.182  Bcast:10.21.255.255  Mask:255.255.0.0
-          inet6 addr: fe80::214:5eff:fe57:c4f8/64 Scope:Link
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
-          RX packets:3068986439 errors:0 dropped:7841 overruns:0 frame:0
-          TX packets:2288060450 errors:0 dropped:0 overruns:0 carrier:0
-          collisions:0 txqueuelen:1000
-          RX bytes:3598751494497 (3.2 TiB)  TX bytes:1744058613150 (1.5 TiB)
-          Interrupt:185 Memory:e4000000-e4012100
-
-In the above case the 192.148.x.x IP series refers to the standard
-Ethernet (or Gigabit Ethernet) network, AND the 10.21.x.x series
-refers to Myrinet.
-
-To run over the Myrinet network use:
-
-% mpiexec -np 1 -env MPICH_INTERFACE_HOSTNAME 10.21.3.182 ./foo
-
-               ************************************
-
-  MPICH_INTERFACE_HOSTNAME_R%d - Network interface to use for rank %d.
-
-               ************************************
-
   MPICH_PORT_RANGE - Port range to use for MPICH2 internal TCP
          connections. This is useful when some of the host ports are
          blocked by a firewall. For example, setting MPICH_PORT_RANGE
@@ -878,8 +841,8 @@
 
 -------------------------------------------------------------------------
 
-XI. Developer Builds
-====================
+9. Developer Builds
+===================
 For MPICH2 developers who want to directly work on the svn, there are
 a few additional steps involved (people using the release tarballs do
 not have to follow these steps). Details about these steps can be
@@ -888,64 +851,34 @@
 
 -------------------------------------------------------------------------
 
-XII. Building ROMIO into MPICH2
-===============================
-By default, ROMIO, an implementation of the I/O portion of MPI-2 will
-be built as a part of MPICH2. The file systems to be built can be
-speicified by passing them in a '+'-delimited list to the
---with-file-system configure option. For example:
+10. Installing MPICH2 on Windows
+================================
 
-  --with-file-system="pvfs+nfs+ufs"
-
-If you have installed version 2 of the PVFS file system, you can use
-the '--with-pvfs2=<prefix>' configure option to specify where
-libraries, headers, and utilities have been installed. If you have
-added the pvfs utilities to your PATH, then ROMIO will detect this and
-build support for PVFS automatically.
-
--------------------------------------------------------------------------
-
-XIII. Testing the MPICH2 installation
-=====================================
-To test MPICH2, use the following options after installing mpich2.
-These will assume that mpich2 is installed into /usr/local/mpich2.
-
-1. MPICH2 test suite:
-
-   shell$ make testing
-
-The results summary will be placed in test/summary.xml 
-
--------------------------------------------------------------------------
-
-XIV. Installing MPICH2 on Windows
-=================================
-
 Here are the instructions for setting up MPICH2 on a Windows machine:
 
-0) Install:
+(a) Install:
     Microsoft Developer Studio 2003 or later
     Intel Fortran 8.0 or later
     cygwin
 	choose the dos file format option
 	install perl and cvs
 
-1) Checkout mpich2:
+(b) Checkout mpich2:
 
     Bring up a command prompt.
     (replace "yourname" with your MCS login name):
     svn co https://svn.mcs.anl.gov/repos/mpi/mpich2/trunk mpich2
 
-2) Generate *.h.in
+(c) Generate *.h.in
 
     Bring up a cygwin bash shell.
     cd mpich2
     maint/updatefiles
     exit
 
-3) Execute winconfigure.wsf
+(d) Execute winconfigure.wsf
 
-4) Open Developer Studio
+(e) Open Developer Studio
 
     open mpich2\mpich2.sln
     build the ch3sockDebug mpich2 solution
@@ -961,31 +894,31 @@
     build the sfortDebug mpich2 solution
     build the sfortRelease mpich2 solution
 
-5) Open a command prompt
+(f) Open a command prompt
 
     cd to mpich2\maint
     execute "makegcclibs.bat"
 
-6) Open another Developer Studio instance
+(g) Open another Developer Studio instance
 
     open mpich2\examples\examples.sln
     build the Release target of the cpi project
 
-7) Return to Developer Studio with the mpich2 solution
+(h) Return to Developer Studio with the mpich2 solution
 
     set the version numbers in the Installer project
     build the Installer mpich2 solution
 
-8) Test and distribute mpich2\maint\ReleaseMSI\mpich2.msi
+(i) Test and distribute mpich2\maint\ReleaseMSI\mpich2.msi
 
     mpich2.msi can be renamed, eg mpich2-1.1.msi
 
-9) To install the launcher:
+(j) To install the launcher:
 
     Copy smpd.exe to a local directory on all the nodes.
     Log on to each node as an administrator and execute "smpd.exe -install"
 
-10) Compile and run an MPI application:
+(k) Compile and run an MPI application:
 
     Compile an mpi application.  Use mpi.h from mpich2\src\include\win32 
     and mpi.lib in mpich2\lib
@@ -997,36 +930,37 @@
 
 -------------------------------------------------------------------------
 
-XIV. Multiple Fortran compiler support
-======================================
+11. Multiple Fortran compiler support
+=====================================
 
 If the C compiler that is used to build MPICH2 libraries supports both
-multiple weak symbols and multiple aliases of common symbols, the Fortran 77
-binding can support multiple Fortran compilers.  The multiple weak symbols
-support allow MPICH2 to provide different name mangling scheme (of
-subroutine names) required by differen Fortran compilers.  The multiple
-aliases of common symbols support enables MPICH2 to equal different common
-block symbols of the MPI Fortran constant, e.g. MPI_IN_PLACE,
-MPI_STATUS_IGNORE...  So they are understood by different Fortran compilers.
+multiple weak symbols and multiple aliases of common symbols, the
+Fortran 77 binding can support multiple Fortran compilers. The
+multiple weak symbols support allow MPICH2 to provide different name
+mangling scheme (of subroutine names) required by differen Fortran
+compilers. The multiple aliases of common symbols support enables
+MPICH2 to equal different common block symbols of the MPI Fortran
+constant, e.g. MPI_IN_PLACE, MPI_STATUS_IGNORE. So they are understood
+by different Fortran compilers.
 
-Since the support of multiple aliases of common symbols is new/experimental,
-users can disable the feature by using configure option --disable-multi-aliases
-if it causes any undesirable effect, e.g. linker warnings of different sizes
-of common symbols, MPIFCMB* (the warning should be harmless).
+Since the support of multiple aliases of common symbols is
+new/experimental, users can disable the feature by using configure
+option --disable-multi-aliases if it causes any undesirable effect,
+e.g. linker warnings of different sizes of common symbols, MPIFCMB*
+(the warning should be harmless).
 
-We have only tested this support on a limited set of platforms/compilers.
-On linux, if the C compiler that builds MPICH2 is either gcc or icc,
-the above support will be enabled by configure.  At the time of this
-writing, pgcc does not seem to have this multiple aliases of common symbols,
-so configure will detect the deficiency and disable the feature automatically.
-The tested Fortran compiler includes GNU Forran compilers(gfortan, g77),
-Intel Fortran compiler(ifort), Portland Group Fortran compilers(pgf77, pgf90), 
-Absoft Fortran compilers (af77, af90), and IBM XL fortran compiler(xlf).
-What this mean is that if mpich2 is built by gcc/gfortran, the resulting
-mpich2 library can be used to link a Fortran program compiled/linked by
-another fortran compiler, say pgf77, say through mpif77 -f77=pgf77.
-As long as the Fortran program is linked without any errors by
-one of these compilers, the program shall be running fine.
-
-Ref: http://trac.mcs.anl.gov/projects/mpich2/ticket/502.
-
+We have only tested this support on a limited set of
+platforms/compilers.  On linux, if the C compiler that builds MPICH2
+is either gcc or icc, the above support will be enabled by configure.
+At the time of this writing, pgcc does not seem to have this multiple
+aliases of common symbols, so configure will detect the deficiency and
+disable the feature automatically.  The tested Fortran compiler
+includes GNU Forran compilers(gfortan, g77), Intel Fortran
+compiler(ifort), Portland Group Fortran compilers(pgf77, pgf90),
+Absoft Fortran compilers (af77, af90), and IBM XL fortran
+compiler(xlf).  What this mean is that if mpich2 is built by
+gcc/gfortran, the resulting mpich2 library can be used to link a
+Fortran program compiled/linked by another fortran compiler, say
+pgf77, say through mpif77 -f77=pgf77.  As long as the Fortran program
+is linked without any errors by one of these compilers, the program
+shall be running fine.


Property changes on: mpich2/branches/release/mpich2-1.3.x/confdb
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt2/confdb:5180,5182,5196,5198
/mpich2/branches/dev/ftb/confdb:5661-5730
/mpich2/branches/dev/lapi/confdb:5817
/mpich2/branches/dev/wintcp_async_progress/confdb:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/confdb:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/confdb:5406
/mpich2/trunk/confdb:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt2/confdb:5180,5182,5196,5198
/mpich2/branches/dev/ftb/confdb:5661-5730
/mpich2/branches/dev/lapi/confdb:5817
/mpich2/branches/dev/wintcp_async_progress/confdb:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/confdb:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/confdb:5406
/mpich2/trunk/confdb:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/maint/Version
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/maint/Version:5050
/mpich2/branches/dev/ckpt2/maint/Version:5057-6537
/mpich2/branches/dev/ftb/maint/Version:5661-5730
/mpich2/branches/dev/lapi/maint/Version:5817
/mpich2/branches/dev/wintcp_async_progress/maint/Version:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/maint/Version:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/maint/Version:5406
/mpich2/trunk/maint/Version:7422-7425,7429-7433,7435,7437-7438,7442-7447,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
/mpich2/trunk/src/pm/hydra/VERSION:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7447
   + /mpich2/branches/dev/ckpt/maint/Version:5050
/mpich2/branches/dev/ckpt2/maint/Version:5057-6537
/mpich2/branches/dev/ftb/maint/Version:5661-5730
/mpich2/branches/dev/lapi/maint/Version:5817
/mpich2/branches/dev/wintcp_async_progress/maint/Version:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/maint/Version:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/maint/Version:5406
/mpich2/trunk/maint/Version:7422-7425,7429-7433,7435,7437-7438,7442-7447,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
/mpich2/trunk/src/pm/hydra/VERSION:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7447


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5050
/mpich2/branches/dev/ckpt2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5057-6537
/mpich2/branches/dev/ftb/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5661-5730
/mpich2/branches/dev/lapi/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5817
/mpich2/branches/dev/win_rrvm/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:6416,6428
/mpich2/branches/dev/wintcp_async_progress/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5406
/mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5050
/mpich2/branches/dev/ckpt2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5057-6537
/mpich2/branches/dev/ftb/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5661-5730
/mpich2/branches/dev/lapi/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5817
/mpich2/branches/dev/win_rrvm/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:6416,6428
/mpich2/branches/dev/wintcp_async_progress/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5406
/mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/mpl/src/mplstr.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt2/src/mpl/src/string/mplstr.c:5182,5196,5198
/mpich2/branches/dev/ftb/src/mpl/src/mplstr.c:5661-5730
/mpich2/branches/dev/lapi/src/mpl/src/mplstr.c:5817
/mpich2/branches/release/mpich2-1.1.1/src/mpl/src/string/mplstr.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpl/src/string/mplstr.c:5406
/mpich2/trunk/src/mpl/src/mplstr.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt2/src/mpl/src/string/mplstr.c:5182,5196,5198
/mpich2/branches/dev/ftb/src/mpl/src/mplstr.c:5661-5730
/mpich2/branches/dev/lapi/src/mpl/src/mplstr.c:5817
/mpich2/branches/release/mpich2-1.1.1/src/mpl/src/string/mplstr.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpl/src/string/mplstr.c:5406
/mpich2/trunk/src/mpl/src/mplstr.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra:5406
/mpich2/trunk/src/pm/hydra:7355-7359*,7366-7367*,7371-7402*,7406-7409*,7411-7416*,7419-7420*,7422-7425*,7429-7433*,7435*,7437-7438,7447-7448*,7462*,7470*,7473-7477*,7484-7485*,7488-7491*,7493-7502*,7504*,7507-7508*,7510-7517*,7519-7527*,7529-7530*,7532*,7536*,7538-7566*,7592*,7607-7622*,7624-7630*,7632-7635*,7637*,7639*,7641-7643*,7646-7649*
   + /mpich2/branches/dev/ckpt/src/pm/hydra:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra:5406
/mpich2/trunk/src/pm/hydra:7355-7359*,7366-7367*,7371-7402*,7406-7409*,7411-7416*,7419-7420*,7422-7425*,7429-7433*,7435*,7437-7438,7447-7448*,7462*,7470*,7473-7477*,7484-7485*,7488-7491*,7493-7502*,7504*,7507-7508*,7510-7517*,7519-7527*,7529-7530*,7532*,7536*,7538-7566*,7592*,7607-7622*,7624-7630*,7632-7635*,7637*,7639*,7641-7643*,7646-7649*,7651-7654*


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/Makefile.am
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/Makefile.am:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/Makefile.am:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/Makefile.am:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/Makefile.am:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/Makefile.am:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/Makefile.am:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/Makefile.am:5406
/mpich2/trunk/src/pm/hydra/Makefile.am:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/Makefile.am:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/Makefile.am:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/Makefile.am:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/Makefile.am:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/Makefile.am:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/Makefile.am:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/Makefile.am:5406
/mpich2/trunk/src/pm/hydra/Makefile.am:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/README
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/README:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/README:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/README:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/README:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/README:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/README:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/README:5406
/mpich2/trunk/src/pm/hydra/README:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/README:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/README:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/README:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/README:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/README:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/README:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/README:5406
/mpich2/trunk/src/pm/hydra/README:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/autogen.sh
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/autogen.sh:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/autogen.sh:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/autogen.sh:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/autogen.sh:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/autogen.sh:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/autogen.sh:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/autogen.sh:5406
/mpich2/trunk/src/pm/hydra/autogen.sh:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/autogen.sh:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/autogen.sh:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/autogen.sh:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/autogen.sh:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/autogen.sh:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/autogen.sh:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/autogen.sh:5406
/mpich2/trunk/src/pm/hydra/autogen.sh:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/configure.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/configure.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/configure.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/configure.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/configure.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/configure.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/configure.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/configure.in:5406
/mpich2/trunk/src/pm/hydra/configure.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/configure.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/configure.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/configure.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/configure.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/configure.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/configure.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/configure.in:5406
/mpich2/trunk/src/pm/hydra/configure.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/examples
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/examples:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/examples:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/examples:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/examples:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/examples:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/examples:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/examples:5406
/mpich2/trunk/src/pm/hydra/examples:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/examples:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/examples:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/examples:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/examples:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/examples:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/examples:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/examples:5406
/mpich2/trunk/src/pm/hydra/examples:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/hydra-doxygen.cfg.in
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/hydra-doxygen.cfg.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/hydra-doxygen.cfg.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/hydra-doxygen.cfg.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/hydra-doxygen.cfg.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/hydra-doxygen.cfg.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/hydra-doxygen.cfg.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/hydra-doxygen.cfg.in:5406
/mpich2/trunk/src/pm/hydra/hydra-doxygen.cfg.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/hydra-doxygen.cfg.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/hydra-doxygen.cfg.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/hydra-doxygen.cfg.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/hydra-doxygen.cfg.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/hydra-doxygen.cfg.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/hydra-doxygen.cfg.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/hydra-doxygen.cfg.in:5406
/mpich2/trunk/src/pm/hydra/hydra-doxygen.cfg.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/include:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/include:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/include:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/include:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/include:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/include:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/include:5406
/mpich2/trunk/src/pm/hydra/include:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/include:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/include:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/include:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/include:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/include:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/include:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/include:5406
/mpich2/trunk/src/pm/hydra/include:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,66 +7,597 @@
 #ifndef HYDRA_H_INCLUDED
 #define HYDRA_H_INCLUDED
 
+#include "mpl.h"
+
+extern char *HYD_dbg_prefix;
+
 #include <stdio.h>
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra_config.h"
 
-struct HYD_cmd {
-    enum {
-        HYD_CLEANUP,
-        HYD_CKPOINT
-    } type;
+#if defined NEEDS_POSIX_FOR_SIGACTION
+#define _POSIX_SOURCE
+#endif /* NEEDS_POSIX_FOR_SIGACTION */
+
+#if defined HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif /* HAVE_WINDOWS_H */
+
+#if defined HAVE_UNISTD_H
+#include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+
+#if defined HAVE_STDLIB_H
+#include <stdlib.h>
+#endif /* HAVE_STDLIB_H */
+
+#if defined HAVE_STRING_H
+#include <string.h>
+#endif /* HAVE_STRING_H */
+
+#if defined HAVE_STRINGS_H
+#include <strings.h>
+#endif /* HAVE_STRINGS_H */
+
+#if defined HAVE_STDARG_H
+#include <stdarg.h>
+#endif /* HAVE_STDARG_H */
+
+#if defined HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+
+#if defined HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif /* HAVE_SYS_STAT_H */
+
+#if defined HAVE_TIME_H
+#include <time.h>
+#endif /* HAVE_TIME_H */
+
+#if defined HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif /* HAVE_SYS_TIME_H */
+
+#if defined HAVE_IFADDRS_H
+#include <ifaddrs.h>
+#endif /* HAVE_IFADDRS_H */
+
+#if defined HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif /* HAVE_ARPA_INET_H */
+
+#if defined HAVE_ERRNO_H
+#include <errno.h>
+#endif /* HAVE_ERRNO_H */
+
+#if !defined HAVE_GETTIMEOFDAY
+#error "hydra requires gettimeofday support"
+#endif /* HAVE_GETTIMEOFDAY */
+
+#if !defined HAVE_MACRO_VA_ARGS
+#error "hydra requires VA_ARGS support"
+#endif /* HAVE_MACRO_VA_ARGS */
+
+#if defined MAXHOSTNAMELEN
+#define MAX_HOSTNAME_LEN MAXHOSTNAMELEN
+#else
+#define MAX_HOSTNAME_LEN 256
+#endif /* MAXHOSTNAMELEN */
+
+#define HYDRA_MAX_PATH 4096
+
+/* sockets required headers */
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif /* HAVE_POLL_H */
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif /* HAVE_FCNTL_H */
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif /* HAVE_NETDB_H */
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif /* HAVE_NETINET_IN_H */
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif /* HAVE_NETINET_TCP_H */
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#define HYD_POLLIN  (0x0001)
+#define HYD_POLLOUT (0x0002)
+#define HYD_POLLHUP (0x0004)
+
+#define HYD_TMPBUF_SIZE (64 * 1024)
+#define HYD_TMP_STRLEN  1024
+#define HYD_NUM_TMP_STRINGS 1000
+
+#define dprintf(...)
+
+#ifndef ATTRIBUTE
+#ifdef HAVE_GCC_ATTRIBUTE
+#define ATTRIBUTE(a_) __attribute__(a_)
+#else
+#define ATTRIBUTE(a_)
+#endif
+#endif
+
+#define HYD_IS_HELP(str) \
+    ((!strcmp((str), "-h")) || (!strcmp((str), "-help")) || (!strcmp((str), "--help")))
+
+#define HYD_DRAW_LINE(x)                                 \
+    {                                                    \
+        int i_;                                          \
+        for (i_ = 0; i_ < (x); i_++)                     \
+            printf("=");                                 \
+        printf("\n");                                    \
+    }
+
+#define HYD_CONVERT_FALSE_TO_NULL(x) \
+    {                                                                   \
+        if (!(x)) {                                                     \
+        }                                                               \
+        else if (!strcasecmp((x), "none") || !strcasecmp((x), "no") ||  \
+                 !strcasecmp((x), "dummy") || !strcasecmp((x), "null") || \
+                 !strcasecmp((x), "nil") || !strcasecmp((x), "false")) { \
+            HYDU_FREE((x));                                             \
+            (x) = NULL;                                                 \
+        }                                                               \
+    }
+
+#if defined MANUAL_EXTERN_ENVIRON
+extern char **environ;
+#endif /* MANUAL_EXTERN_ENVIRON */
+
+#define HYD_SILENT_ERROR(status) (((status) == HYD_GRACEFUL_ABORT) || ((status) == HYD_TIMED_OUT))
+
+#define HYDRA_NAMESERVER_DEFAULT_PORT 6392
+
+/* fd state */
+enum HYD_fd_state {
+    HYD_FD_UNSET = -1,
+    HYD_FD_CLOSED = -2
 };
 
-struct HYD_handle {
-    struct HYD_user_global user_global;
+/* Status information */
+typedef enum {
+    HYD_SUCCESS = 0,
+    HYD_FAILURE,        /* general failure */
 
-    int ppn;
+    /* Silent errors */
+    HYD_GRACEFUL_ABORT,
+    HYD_TIMED_OUT,
 
-    char *base_path;
+    /* Regular errors */
+    HYD_NO_MEM,
+    HYD_SOCK_ERROR,
+    HYD_INVALID_PARAM,
+    HYD_INTERNAL_ERROR
+} HYD_status;
 
-    char *port_range;
+#if defined(NEEDS_GETHOSTNAME_DECL)
+int gethostname(char *name, size_t len);
+#endif
 
-    char *interface_env_name;
+typedef unsigned short HYD_event_t;
 
-    char *nameserver;
+/* Argument matching functions */
+struct HYD_arg_match_table {
+    const char *arg;
+     HYD_status(*handler_fn) (char *arg, char ***argv_p);
+    void (*help_fn) (void);
+};
 
-    char *local_hostname;
 
-    int ckpoint_int;
+/* Environment information */
+struct HYD_env {
+    const char *env_name;
+    const char *env_value;
+    struct HYD_env *next;
+};
 
-    int print_rank_map;
-    int print_all_exitcodes;
+typedef enum HYD_env_overwrite {
+    HYD_ENV_OVERWRITE_TRUE,
+    HYD_ENV_OVERWRITE_FALSE
+} HYD_env_overwrite_t;
 
-    int ranks_per_proc;
+typedef enum {
+    HYD_ENV_PROP_UNSET,
+    HYD_ENV_PROP_ALL,
+    HYD_ENV_PROP_NONE,
+    HYD_ENV_PROP_LIST
+} HYD_env_prop_t;
 
-     HYD_status(*stdout_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
-     HYD_status(*stderr_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
+struct HYD_env_global {
+    struct HYD_env *system;
+    struct HYD_env *user;
+    struct HYD_env *inherited;
+    char *prop;
+};
 
-    /* All of the available nodes */
-    struct HYD_node *node_list;
-    int global_core_count;
-    enum HYD_sort_order {
-        NONE = 0,
-        ASCENDING = 1,
-        DESCENDING = 2
-    } sort_order;
+/* Executable information */
+struct HYD_exec {
+    char *exec[HYD_NUM_TMP_STRINGS];
+    char *wdir;
 
-    /* Process groups */
-    struct HYD_pg pg_list;
+    int proc_count;
+    struct HYD_env *user_env;
+    char *env_prop;
 
-    /* Random parameters used for internal code */
-    int func_depth;
+    int appnum;
 
-    /* Cleanup */
-    int cleanup_pipe[2];
+    struct HYD_exec *next;
+};
 
-#if defined ENABLE_PROFILING
-    int enable_profiling;
-    int num_pmi_calls;
-#endif                          /* ENABLE_PROFILING */
+/* Process group */
+struct HYD_pg {
+    int pgid;
+    struct HYD_proxy *proxy_list;
+    int pg_process_count;
+    int barrier_count;
+
+    struct HYD_pg *spawner_pg;
+
+    /* scratch space for the PM */
+    void *pg_scratch;
+
+    struct HYD_pg *next;
 };
 
-extern struct HYD_handle HYD_handle;
+/* Information about the node itself */
+struct HYD_node {
+    char *hostname;
+    int core_count;
 
+    /* Node-specific binding information */
+    char *local_binding;
+
+    struct HYD_node *next;
+};
+
+/* Proxy information */
+struct HYD_proxy {
+    struct HYD_node node;
+
+    struct HYD_pg *pg;          /* Back pointer to the PG */
+
+    char **exec_launch_info;
+
+    int proxy_id;
+
+    int start_pid;
+    int proxy_process_count;
+
+    struct HYD_exec *exec_list;
+
+    int *pid;
+    int *exit_status;
+    int control_fd;
+
+    struct HYD_proxy *next;
+};
+
+/* Global user parameters */
+struct HYD_user_global {
+    /* RMK */
+    char *rmk;
+
+    /* Launcher */
+    char *launcher;
+    char *launcher_exec;
+
+    /* Process binding */
+    char *binding;
+    char *bindlib;
+
+    /* Checkpoint restart */
+    char *ckpointlib;
+    char *ckpoint_prefix;
+    int ckpoint_num;
+
+    /* Demux engine */
+    char *demux;
+
+    /* Network interface */
+    char *iface;
+
+    /* Other random parameters */
+    int enablex;
+    int debug;
+
+    int auto_cleanup;
+
+    struct HYD_env_global global_env;
+};
+
+#define HYDU_dump_prefix(fp)                    \
+    {                                           \
+        fprintf(fp, "[%s] ", HYD_dbg_prefix);   \
+        fflush(fp);                             \
+    }
+
+#define HYDU_dump_noprefix(fp, ...)             \
+    {                                           \
+        fprintf(fp, __VA_ARGS__);               \
+        fflush(fp);                             \
+    }
+
+#define HYDU_dump(fp, ...)                      \
+    {                                           \
+        HYDU_dump_prefix(fp);                   \
+        HYDU_dump_noprefix(fp, __VA_ARGS__);    \
+    }
+
+#if defined HAVE__FUNC__
+#define HYDU_FUNC __func__
+#elif defined HAVE_CAP__FUNC__
+#define HYDU_FUNC __FUNC__
+#elif defined HAVE__FUNCTION__
+#define HYDU_FUNC __FUNCTION__
+#endif
+
+#if defined __FILE__ && defined HYDU_FUNC
+#define HYDU_error_printf(...)                                          \
+    {                                                                   \
+        HYDU_dump_prefix(stderr);                                       \
+        HYDU_dump_noprefix(stderr, "%s (%s:%d): ", __func__, __FILE__, __LINE__); \
+        HYDU_dump_noprefix(stderr, __VA_ARGS__);                        \
+    }
+#elif defined __FILE__
+#define HYDU_error_printf(...)                            \
+    {                                                     \
+        HYDU_dump_prefix(stderr);                                       \
+        HYDU_dump_noprefix(stderr, "%s (%d): ", __FILE__, __LINE__);    \
+        HYDU_dump_noprefix(stderr, __VA_ARGS__);                        \
+    }
+#else
+#define HYDU_error_printf(...)                                          \
+    {                                                                   \
+        HYDU_dump_prefix(stderr);                                       \
+        HYDU_dump_noprefix(stderr, __VA_ARGS__);                        \
+    }
+#endif
+
+#define HYDU_ASSERT(x, status)                                          \
+    {                                                                   \
+        if (!(x)) {                                                     \
+            HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,             \
+                                 "assert (%s) failed\n", #x);           \
+        }                                                               \
+    }
+
+#define HYDU_IGNORE_TIMEOUT(status)             \
+    {                                           \
+        if ((status) == HYD_TIMED_OUT)          \
+            (status) = HYD_SUCCESS;             \
+    }
+
+#define HYDU_ERR_POP(status, ...)                                       \
+    {                                                                   \
+        if (status && !HYD_SILENT_ERROR(status)) {                      \
+            HYDU_error_printf(__VA_ARGS__);                             \
+            goto fn_fail;                                               \
+        }                                                               \
+        else if (HYD_SILENT_ERROR(status)) {                            \
+            goto fn_exit;                                               \
+        }                                                               \
+    }
+
+#define HYDU_ERR_SETANDJUMP(status, error, ...)                         \
+    {                                                                   \
+        status = error;                                                 \
+        HYDU_ERR_POP(status, __VA_ARGS__);                              \
+    }
+
+#define HYDU_ERR_CHKANDJUMP(status, chk, error, ...)                    \
+    {                                                                   \
+        if ((chk))                                                      \
+            HYDU_ERR_SETANDJUMP(status, error, __VA_ARGS__);            \
+    }
+
+#if defined ENABLE_WARNINGS
+#define HYDU_warn_printf HYDU_error_printf
+#else
+#define HYDU_warn_printf(...)
+#endif /* ENABLE_WARNINGS */
+
+/* Disable for now; we might add something here in the future */
+#define HYDU_FUNC_ENTER()   do {} while (0)
+#define HYDU_FUNC_EXIT()    do {} while (0)
+
+
+/* alloc */
+void HYDU_init_user_global(struct HYD_user_global *user_global);
+void HYDU_finalize_user_global(struct HYD_user_global *user_global);
+void HYDU_init_global_env(struct HYD_env_global *global_env);
+void HYDU_finalize_global_env(struct HYD_env_global *global_env);
+HYD_status HYDU_alloc_node(struct HYD_node **node);
+void HYDU_free_node_list(struct HYD_node *node_list);
+void HYDU_init_pg(struct HYD_pg *pg, int pgid);
+HYD_status HYDU_alloc_pg(struct HYD_pg **pg, int pgid);
+void HYDU_free_pg_list(struct HYD_pg *pg_list);
+HYD_status HYDU_alloc_proxy(struct HYD_proxy **proxy, struct HYD_pg *pg);
+void HYDU_free_proxy_list(struct HYD_proxy *proxy_list);
+HYD_status HYDU_alloc_exec(struct HYD_exec **exec);
+void HYDU_free_exec_list(struct HYD_exec *exec_list);
+HYD_status HYDU_create_proxy_list(struct HYD_exec *exec_list, struct HYD_node *node_list,
+                                  struct HYD_pg *pg, int proc_offset);
+HYD_status HYDU_correct_wdir(char **wdir);
+
+/* args */
+HYD_status HYDU_find_in_path(const char *execname, char **path);
+HYD_status HYDU_parse_array(char ***argv, struct HYD_arg_match_table *match_table);
+HYD_status HYDU_set_str(char *arg, char ***argv, char **var, const char *val);
+HYD_status HYDU_set_str_and_incr(char *arg, char ***argv, char **var);
+HYD_status HYDU_set_int(char *arg, char ***argv, int *var, int val);
+HYD_status HYDU_set_int_and_incr(char *arg, char ***argv, int *var);
+char *HYDU_getcwd(void);
+HYD_status HYDU_process_mfile_token(char *token, int newline, struct HYD_node **node_list);
+HYD_status HYDU_parse_hostfile(char *hostfile, struct HYD_node **node_list,
+                               HYD_status(*process_token) (char *token, int newline,
+                                                           struct HYD_node ** node_list));
+char *HYDU_find_full_path(const char *execname);
+HYD_status HYDU_send_strlist(int fd, char **strlist);
+
+/* debug */
+HYD_status HYDU_dbg_init(const char *str);
+void HYDU_dbg_finalize(void);
+
+/* env */
+HYD_status HYDU_env_to_str(struct HYD_env *env, char **str);
+HYD_status HYDU_list_inherited_env(struct HYD_env **env_list);
+struct HYD_env *HYDU_env_list_dup(struct HYD_env *env);
+HYD_status HYDU_env_create(struct HYD_env **env, const char *env_name, const char *env_value);
+HYD_status HYDU_env_free(struct HYD_env *env);
+HYD_status HYDU_env_free_list(struct HYD_env *env);
+struct HYD_env *HYDU_env_lookup(char *env_name, struct HYD_env *env_list);
+HYD_status HYDU_append_env_to_list(const char *env_name, const char *env_value,
+                                   struct HYD_env **env_list);
+HYD_status HYDU_append_env_str_to_list(char *str, struct HYD_env **env_list);
+HYD_status HYDU_putenv(struct HYD_env *env, HYD_env_overwrite_t overwrite);
+HYD_status HYDU_putenv_list(struct HYD_env *env_list, HYD_env_overwrite_t overwrite);
+HYD_status HYDU_comma_list_to_env_list(char *str, struct HYD_env **env_list);
+
+/* launch */
+struct HYDT_bind_cpuset_t;
+HYD_status HYDU_create_process(char **client_arg, struct HYD_env *env_list,
+                               int *in, int *out, int *err, int *pid,
+                               struct HYDT_bind_cpuset_t cpuset);
+
+/* others */
+int HYDU_local_to_global_id(int local_id, int start_pid, int core_count,
+                            int global_core_count);
+HYD_status HYDU_add_to_node_list(const char *hostname, int num_procs,
+                                 struct HYD_node **node_list);
+HYD_status HYDU_gethostname(char *hostname);
+
+/* signals */
+#ifdef NEEDS_POSIX_FOR_SIGACTION
+#define _POSIX_SOURCE
+#endif
+
+#include <sys/wait.h>
+#if defined(USE_SIGNAL) || defined(USE_SIGACTION)
+#include <signal.h>
+#else
+#error no signal choice
+#endif
+#ifdef NEEDS_STRSIGNAL_DECL
+extern char *strsignal(int);
+#endif
+
+HYD_status HYDU_set_signal(int signum, void (*handler) (int));
+HYD_status HYDU_set_common_signals(void (*handler) (int));
+
+/* Sock utilities */
+enum HYDU_sock_comm_flag {
+    HYDU_SOCK_COMM_NONE = 0,
+    HYDU_SOCK_COMM_MSGWAIT = 1
+};
+
+HYD_status HYDU_sock_listen(int *listen_fd, char *port_range, uint16_t * port);
+HYD_status HYDU_sock_connect(const char *host, uint16_t port, int *fd);
+HYD_status HYDU_sock_accept(int listen_fd, int *fd);
+HYD_status HYDU_sock_read(int fd, void *buf, int maxlen, int *recvd, int *closed,
+                          enum HYDU_sock_comm_flag flag);
+HYD_status HYDU_sock_write(int fd, const void *buf, int maxlen, int *sent, int *closed);
+HYD_status HYDU_sock_forward_stdio(int in, int out, int *closed);
+HYD_status HYDU_sock_get_iface_ip(char *iface, char **ip);
+HYD_status HYDU_sock_is_local(char *host, int *is_local);
+HYD_status HYDU_sock_remote_access(char *host, int *remote_access);
+HYD_status
+HYDU_sock_create_and_listen_portstr(char *iface, char *hostname, char *port_range,
+                                    char **port_str,
+                                    HYD_status(*callback) (int fd, HYD_event_t events,
+                                                           void *userp), void *userp);
+HYD_status HYDU_sock_cloexec(int fd);
+
+
+/* Memory utilities */
+#include <ctype.h>
+
+#if defined USE_MEMORY_TRACING
+
+#define HYDU_mem_init()  MPL_trinit(0)
+
+#define HYDU_strdup(a) MPL_trstrdup(a,__LINE__,__FILE__)
+#ifdef strdup
+#undef strdup
+#endif
+#define strdup(a)      'Error use HYDU_strdup' :::
+
+#define HYDU_malloc(a) MPL_trmalloc((unsigned)(a),__LINE__,__FILE__)
+#define malloc(a)      'Error use HYDU_malloc' :::
+
+#define HYDU_free(a) MPL_trfree(a,__LINE__,__FILE__)
+#define free(a)      'Error use HYDU_free' :::
+
+#else /* if !defined USE_MEMORY_TRACING */
+
+#define HYDU_mem_init()
+#define HYDU_strdup MPL_strdup
+#define HYDU_malloc malloc
+#define HYDU_free free
+
+#endif /* USE_MEMORY_TRACING */
+
+#define HYDU_snprintf MPL_snprintf
+
+#define HYDU_MALLOC(p, type, size, status)                              \
+    {                                                                   \
+        (p) = (type) HYDU_malloc((size));                               \
+        if ((p) == NULL)                                                \
+            HYDU_ERR_SETANDJUMP((status), HYD_NO_MEM,                   \
+                                "failed to allocate %d bytes\n",        \
+                                (int) (size));                          \
+    }
+
+#define HYDU_FREE(p)                            \
+    {                                           \
+        HYDU_free((void *) p);                  \
+    }
+
+#define HYDU_STRLIST_CONSOLIDATE(strlist, i, status)                    \
+    {                                                                   \
+        char *out;                                                      \
+        if ((i) >= (HYD_NUM_TMP_STRINGS / 2)) {                         \
+            (strlist)[(i)] = NULL;                                      \
+            (status) = HYDU_str_alloc_and_join((strlist), &out);        \
+            HYDU_ERR_POP((status), "unable to join strings\n");         \
+            HYDU_free_strlist((strlist));                               \
+            strlist[0] = out;                                           \
+            (i) = 1;                                                    \
+        }                                                               \
+    }
+
+#define HYD_GET_ENV_STR_VAL(lvalue_, env_var_name_, default_val_)       \
+    do {                                                       \
+        if (lvalue_ == NULL) {                                 \
+            const char *tmp_ = (default_val_);                 \
+            MPL_env2str(env_var_name_, (const char **) &tmp_); \
+            if (tmp_)                                          \
+                lvalue_ = HYDU_strdup(tmp_);                   \
+        }                                                      \
+    } while (0)
+
+HYD_status HYDU_list_append_strlist(char **exec, char **client_arg);
+HYD_status HYDU_print_strlist(char **args);
+void HYDU_free_strlist(char **args);
+HYD_status HYDU_str_alloc_and_join(char **strlist, char **strjoin);
+HYD_status HYDU_strsplit(char *str, char **str1, char **str2, char sep);
+HYD_status HYDU_strdup_list(char *src[], char **dest[]);
+char *HYDU_int_to_str(int x);
+char *HYDU_int_to_str_pad(int x, int maxlen);
+char *HYDU_strerror(int error);
+int HYDU_strlist_lastidx(char **strlist);
+char **HYDU_str_to_strlist(char *str);
+
+/*!
+ * @}
+ */
+
 #endif /* HYDRA_H_INCLUDED */

Deleted: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -1,314 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *  (C) 2008 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#ifndef HYDRA_BASE_H_INCLUDED
-#define HYDRA_BASE_H_INCLUDED
-
-#include <stdio.h>
-#include "hydra_config.h"
-
-#if defined NEEDS_POSIX_FOR_SIGACTION
-#define _POSIX_SOURCE
-#endif /* NEEDS_POSIX_FOR_SIGACTION */
-
-#if defined HAVE_WINDOWS_H
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif /* HAVE_WINDOWS_H */
-
-#if defined HAVE_UNISTD_H
-#include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-
-#if defined HAVE_STDLIB_H
-#include <stdlib.h>
-#endif /* HAVE_STDLIB_H */
-
-#if defined HAVE_STRING_H
-#include <string.h>
-#endif /* HAVE_STRING_H */
-
-#if defined HAVE_STRINGS_H
-#include <strings.h>
-#endif /* HAVE_STRINGS_H */
-
-#if defined HAVE_STDARG_H
-#include <stdarg.h>
-#endif /* HAVE_STDARG_H */
-
-#if defined HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif /* HAVE_SYS_TYPES_H */
-
-#if defined HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif /* HAVE_SYS_STAT_H */
-
-#if defined HAVE_TIME_H
-#include <time.h>
-#endif /* HAVE_TIME_H */
-
-#if defined HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif /* HAVE_SYS_TIME_H */
-
-#if defined HAVE_IFADDRS_H
-#include <ifaddrs.h>
-#endif /* HAVE_IFADDRS_H */
-
-#if defined HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif /* HAVE_ARPA_INET_H */
-
-#if defined HAVE_ERRNO_H
-#include <errno.h>
-#endif /* HAVE_ERRNO_H */
-
-#if !defined HAVE_GETTIMEOFDAY
-#error "hydra requires gettimeofday support"
-#endif /* HAVE_GETTIMEOFDAY */
-
-#if !defined HAVE_MACRO_VA_ARGS
-#error "hydra requires VA_ARGS support"
-#endif /* HAVE_MACRO_VA_ARGS */
-
-#if defined MAXHOSTNAMELEN
-#define MAX_HOSTNAME_LEN MAXHOSTNAMELEN
-#else
-#define MAX_HOSTNAME_LEN 256
-#endif /* MAXHOSTNAMELEN */
-
-#define HYDRA_MAX_PATH 4096
-
-/* sockets required headers */
-#ifdef HAVE_POLL_H
-#include <poll.h>
-#endif /* HAVE_POLL_H */
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif /* HAVE_FCNTL_H */
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif /* HAVE_NETDB_H */
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif /* HAVE_NETINET_IN_H */
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h>
-#endif /* HAVE_NETINET_TCP_H */
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#define HYD_POLLIN  (0x0001)
-#define HYD_POLLOUT (0x0002)
-#define HYD_POLLHUP (0x0004)
-
-#define HYD_TMPBUF_SIZE (64 * 1024)
-#define HYD_TMP_STRLEN  1024
-#define HYD_NUM_TMP_STRINGS 1000
-
-#define dprintf(...)
-
-#ifndef ATTRIBUTE
-#ifdef HAVE_GCC_ATTRIBUTE
-#define ATTRIBUTE(a_) __attribute__(a_)
-#else
-#define ATTRIBUTE(a_)
-#endif
-#endif
-
-#define HYD_IS_HELP(str) \
-    ((!strcmp((str), "-h")) || (!strcmp((str), "-help")) || (!strcmp((str), "--help")))
-
-#define HYD_DRAW_LINE(x)                                 \
-    {                                                    \
-        int i_;                                          \
-        for (i_ = 0; i_ < (x); i_++)                     \
-            printf("=");                                 \
-        printf("\n");                                    \
-    }
-
-#define HYD_CONVERT_FALSE_TO_NULL(x) \
-    {                                                                   \
-        if (!(x)) {                                                     \
-        }                                                               \
-        else if (!strcasecmp((x), "none") || !strcasecmp((x), "no") ||  \
-                 !strcasecmp((x), "dummy") || !strcasecmp((x), "null") || \
-                 !strcasecmp((x), "nil") || !strcasecmp((x), "false")) { \
-            HYDU_FREE((x));                                             \
-            (x) = NULL;                                                 \
-        }                                                               \
-    }
-
-#if defined MANUAL_EXTERN_ENVIRON
-extern char **environ;
-#endif /* MANUAL_EXTERN_ENVIRON */
-
-#define HYD_SILENT_ERROR(status) (((status) == HYD_GRACEFUL_ABORT) || ((status) == HYD_TIMED_OUT))
-
-#define HYDRA_NAMESERVER_DEFAULT_PORT 6392
-
-/* fd state */
-enum HYD_fd_state {
-    HYD_FD_UNSET = -1,
-    HYD_FD_CLOSED = -2
-};
-
-/* Status information */
-typedef enum {
-    HYD_SUCCESS = 0,
-    HYD_FAILURE,        /* general failure */
-
-    /* Silent errors */
-    HYD_GRACEFUL_ABORT,
-    HYD_TIMED_OUT,
-
-    /* Regular errors */
-    HYD_NO_MEM,
-    HYD_SOCK_ERROR,
-    HYD_INVALID_PARAM,
-    HYD_INTERNAL_ERROR
-} HYD_status;
-
-#if defined(NEEDS_GETHOSTNAME_DECL)
-int gethostname(char *name, size_t len);
-#endif
-
-typedef unsigned short HYD_event_t;
-
-/* Argument matching functions */
-struct HYD_arg_match_table {
-    const char *arg;
-     HYD_status(*handler_fn) (char *arg, char ***argv_p);
-    void (*help_fn) (void);
-};
-
-
-/* Environment information */
-struct HYD_env {
-    const char *env_name;
-    const char *env_value;
-    struct HYD_env *next;
-};
-
-typedef enum HYD_env_overwrite {
-    HYD_ENV_OVERWRITE_TRUE,
-    HYD_ENV_OVERWRITE_FALSE
-} HYD_env_overwrite_t;
-
-typedef enum {
-    HYD_ENV_PROP_UNSET,
-    HYD_ENV_PROP_ALL,
-    HYD_ENV_PROP_NONE,
-    HYD_ENV_PROP_LIST
-} HYD_env_prop_t;
-
-struct HYD_env_global {
-    struct HYD_env *system;
-    struct HYD_env *user;
-    struct HYD_env *inherited;
-    char *prop;
-};
-
-/* Executable information */
-struct HYD_exec {
-    char *exec[HYD_NUM_TMP_STRINGS];
-    char *wdir;
-
-    int proc_count;
-    struct HYD_env *user_env;
-    char *env_prop;
-
-    int appnum;
-
-    struct HYD_exec *next;
-};
-
-/* Process group */
-struct HYD_pg {
-    int pgid;
-    struct HYD_proxy *proxy_list;
-    int pg_process_count;
-    int barrier_count;
-
-    struct HYD_pg *spawner_pg;
-
-    /* scratch space for the PM */
-    void *pg_scratch;
-
-    struct HYD_pg *next;
-};
-
-/* Information about the node itself */
-struct HYD_node {
-    char *hostname;
-    int core_count;
-
-    /* Node-specific binding information */
-    char *local_binding;
-
-    struct HYD_node *next;
-};
-
-/* Proxy information */
-struct HYD_proxy {
-    struct HYD_node node;
-
-    struct HYD_pg *pg;          /* Back pointer to the PG */
-
-    char **exec_launch_info;
-
-    int proxy_id;
-
-    int start_pid;
-    int proxy_process_count;
-
-    struct HYD_exec *exec_list;
-
-    int *pid;
-    int *exit_status;
-    int control_fd;
-
-    struct HYD_proxy *next;
-};
-
-/* Global user parameters */
-struct HYD_user_global {
-    /* RMK */
-    char *rmk;
-
-    /* Launcher */
-    char *launcher;
-    char *launcher_exec;
-
-    /* Process binding */
-    char *binding;
-    char *bindlib;
-
-    /* Checkpoint restart */
-    char *ckpointlib;
-    char *ckpoint_prefix;
-    int ckpoint_num;
-
-    /* Demux engine */
-    char *demux;
-
-    /* Network interface */
-    char *iface;
-
-    /* Other random parameters */
-    int prepend_rank;
-    int enablex;
-    int debug;
-
-    int auto_cleanup;
-
-    struct HYD_env_global global_env;
-};
-
-#endif /* HYDRA_BASE_H_INCLUDED */

Copied: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h (from rev 7654, mpich2/trunk/src/pm/hydra/include/hydra_server.h)
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h	                        (rev 0)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -0,0 +1,50 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ *  (C) 2008 by Argonne National Laboratory.
+ *      See COPYRIGHT in top-level directory.
+ */
+
+#ifndef HYDRA_SERVER_H_INCLUDED
+#define HYDRA_SERVER_H_INCLUDED
+
+#include "hydra.h"
+
+/* Interaction commands between the UI and the proxy */
+struct HYD_cmd {
+    enum {
+        HYD_CLEANUP,
+        HYD_CKPOINT
+    } type;
+};
+
+struct HYD_server_info {
+    struct HYD_user_global user_global;
+
+    char *base_path;
+    char *port_range;
+    char *interface_env_name;
+    char *nameserver;
+    char *local_hostname;
+
+     HYD_status(*stdout_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
+     HYD_status(*stderr_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
+
+    /* All of the available nodes */
+    struct HYD_node *node_list;
+    int global_core_count;
+
+    /* Process groups */
+    struct HYD_pg pg_list;
+
+    /* Cleanup */
+    int cleanup_pipe[2];
+
+#if defined ENABLE_PROFILING
+    int enable_profiling;
+    int num_pmi_calls;
+#endif                          /* ENABLE_PROFILING */
+};
+
+extern struct HYD_server_info HYD_server_info;
+
+#endif /* HYDRA_SERVER_H_INCLUDED */

Deleted: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -1,301 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *  (C) 2008 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#ifndef HYDRA_UTILS_H_INCLUDED
-#define HYDRA_UTILS_H_INCLUDED
-
-#include "hydra_base.h"
-#include "mpl.h"
-
-extern char *HYD_dbg_prefix;
-
-#define HYDU_dump_prefix(fp)                    \
-    {                                           \
-        fprintf(fp, "[%s] ", HYD_dbg_prefix);   \
-        fflush(fp);                             \
-    }
-
-#define HYDU_dump_noprefix(fp, ...)             \
-    {                                           \
-        fprintf(fp, __VA_ARGS__);               \
-        fflush(fp);                             \
-    }
-
-#define HYDU_dump(fp, ...)                      \
-    {                                           \
-        HYDU_dump_prefix(fp);                   \
-        HYDU_dump_noprefix(fp, __VA_ARGS__);    \
-    }
-
-#if defined HAVE__FUNC__
-#define HYDU_FUNC __func__
-#elif defined HAVE_CAP__FUNC__
-#define HYDU_FUNC __FUNC__
-#elif defined HAVE__FUNCTION__
-#define HYDU_FUNC __FUNCTION__
-#endif
-
-#if defined __FILE__ && defined HYDU_FUNC
-#define HYDU_error_printf(...)                                          \
-    {                                                                   \
-        HYDU_dump_prefix(stderr);                                       \
-        HYDU_dump_noprefix(stderr, "%s (%s:%d): ", __func__, __FILE__, __LINE__); \
-        HYDU_dump_noprefix(stderr, __VA_ARGS__);                        \
-    }
-#elif defined __FILE__
-#define HYDU_error_printf(...)                            \
-    {                                                     \
-        HYDU_dump_prefix(stderr);                                       \
-        HYDU_dump_noprefix(stderr, "%s (%d): ", __FILE__, __LINE__);    \
-        HYDU_dump_noprefix(stderr, __VA_ARGS__);                        \
-    }
-#else
-#define HYDU_error_printf(...)                                          \
-    {                                                                   \
-        HYDU_dump_prefix(stderr);                                       \
-        HYDU_dump_noprefix(stderr, __VA_ARGS__);                        \
-    }
-#endif
-
-#define HYDU_ASSERT(x, status)                                          \
-    {                                                                   \
-        if (!(x)) {                                                     \
-            HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,             \
-                                 "assert (%s) failed\n", #x);           \
-        }                                                               \
-    }
-
-#define HYDU_IGNORE_TIMEOUT(status)             \
-    {                                           \
-        if ((status) == HYD_TIMED_OUT)          \
-            (status) = HYD_SUCCESS;             \
-    }
-
-#define HYDU_ERR_POP(status, ...)                                       \
-    {                                                                   \
-        if (status && !HYD_SILENT_ERROR(status)) {                      \
-            HYDU_error_printf(__VA_ARGS__);                             \
-            goto fn_fail;                                               \
-        }                                                               \
-        else if (HYD_SILENT_ERROR(status)) {                            \
-            goto fn_exit;                                               \
-        }                                                               \
-    }
-
-#define HYDU_ERR_SETANDJUMP(status, error, ...)                         \
-    {                                                                   \
-        status = error;                                                 \
-        HYDU_ERR_POP(status, __VA_ARGS__);                              \
-    }
-
-#define HYDU_ERR_CHKANDJUMP(status, chk, error, ...)                    \
-    {                                                                   \
-        if ((chk))                                                      \
-            HYDU_ERR_SETANDJUMP(status, error, __VA_ARGS__);            \
-    }
-
-#if defined ENABLE_WARNINGS
-#define HYDU_warn_printf HYDU_error_printf
-#else
-#define HYDU_warn_printf(...)
-#endif /* ENABLE_WARNINGS */
-
-/* Disable for now; we might add something here in the future */
-#define HYDU_FUNC_ENTER()   do {} while (0)
-#define HYDU_FUNC_EXIT()    do {} while (0)
-
-
-/* alloc */
-void HYDU_init_user_global(struct HYD_user_global *user_global);
-void HYDU_finalize_user_global(struct HYD_user_global *user_global);
-void HYDU_init_global_env(struct HYD_env_global *global_env);
-void HYDU_finalize_global_env(struct HYD_env_global *global_env);
-HYD_status HYDU_alloc_node(struct HYD_node **node);
-void HYDU_free_node_list(struct HYD_node *node_list);
-void HYDU_init_pg(struct HYD_pg *pg, int pgid);
-HYD_status HYDU_alloc_pg(struct HYD_pg **pg, int pgid);
-void HYDU_free_pg_list(struct HYD_pg *pg_list);
-HYD_status HYDU_alloc_proxy(struct HYD_proxy **proxy, struct HYD_pg *pg);
-void HYDU_free_proxy_list(struct HYD_proxy *proxy_list);
-HYD_status HYDU_alloc_exec(struct HYD_exec **exec);
-void HYDU_free_exec_list(struct HYD_exec *exec_list);
-HYD_status HYDU_create_proxy_list(struct HYD_exec *exec_list, struct HYD_node *node_list,
-                                  struct HYD_pg *pg, int proc_offset);
-HYD_status HYDU_correct_wdir(char **wdir);
-
-/* args */
-HYD_status HYDU_find_in_path(const char *execname, char **path);
-HYD_status HYDU_parse_array(char ***argv, struct HYD_arg_match_table *match_table);
-HYD_status HYDU_set_str(char *arg, char ***argv, char **var, const char *val);
-HYD_status HYDU_set_str_and_incr(char *arg, char ***argv, char **var);
-HYD_status HYDU_set_int(char *arg, char ***argv, int *var, int val);
-HYD_status HYDU_set_int_and_incr(char *arg, char ***argv, int *var);
-char *HYDU_getcwd(void);
-HYD_status HYDU_process_mfile_token(char *token, int newline, struct HYD_node **node_list);
-HYD_status HYDU_parse_hostfile(char *hostfile, struct HYD_node **node_list,
-                               HYD_status(*process_token) (char *token, int newline,
-                                                           struct HYD_node **node_list));
-char *HYDU_find_full_path(const char *execname);
-HYD_status HYDU_send_strlist(int fd, char **strlist);
-
-/* debug */
-HYD_status HYDU_dbg_init(const char *str);
-void HYDU_dbg_finalize(void);
-
-/* env */
-HYD_status HYDU_env_to_str(struct HYD_env *env, char **str);
-HYD_status HYDU_list_inherited_env(struct HYD_env **env_list);
-struct HYD_env *HYDU_env_list_dup(struct HYD_env *env);
-HYD_status HYDU_env_create(struct HYD_env **env, const char *env_name, const char *env_value);
-HYD_status HYDU_env_free(struct HYD_env *env);
-HYD_status HYDU_env_free_list(struct HYD_env *env);
-struct HYD_env *HYDU_env_lookup(char *env_name, struct HYD_env *env_list);
-HYD_status HYDU_append_env_to_list(const char *env_name, const char *env_value,
-                                   struct HYD_env **env_list);
-HYD_status HYDU_append_env_str_to_list(char *str, struct HYD_env **env_list);
-HYD_status HYDU_putenv(struct HYD_env *env, HYD_env_overwrite_t overwrite);
-HYD_status HYDU_putenv_list(struct HYD_env *env_list, HYD_env_overwrite_t overwrite);
-HYD_status HYDU_comma_list_to_env_list(char *str, struct HYD_env **env_list);
-
-/* launch */
-struct HYDT_bind_cpuset_t;
-HYD_status HYDU_create_process(char **client_arg, struct HYD_env *env_list,
-                               int *in, int *out, int *err, int *pid,
-                               struct HYDT_bind_cpuset_t cpuset);
-
-/* others */
-int HYDU_local_to_global_id(int local_id, int start_pid, int core_count,
-                            int global_core_count);
-HYD_status HYDU_add_to_node_list(const char *hostname, int num_procs,
-                                 struct HYD_node **node_list);
-HYD_status HYDU_gethostname(char *hostname);
-
-/* signals */
-#ifdef NEEDS_POSIX_FOR_SIGACTION
-#define _POSIX_SOURCE
-#endif
-
-#include <sys/wait.h>
-#if defined(USE_SIGNAL) || defined(USE_SIGACTION)
-#include <signal.h>
-#else
-#error no signal choice
-#endif
-#ifdef NEEDS_STRSIGNAL_DECL
-extern char *strsignal(int);
-#endif
-
-HYD_status HYDU_set_signal(int signum, void (*handler) (int));
-HYD_status HYDU_set_common_signals(void (*handler) (int));
-
-/* Sock utilities */
-enum HYDU_sock_comm_flag {
-    HYDU_SOCK_COMM_NONE = 0,
-    HYDU_SOCK_COMM_MSGWAIT = 1
-};
-
-HYD_status HYDU_sock_listen(int *listen_fd, char *port_range, uint16_t * port);
-HYD_status HYDU_sock_connect(const char *host, uint16_t port, int *fd);
-HYD_status HYDU_sock_accept(int listen_fd, int *fd);
-HYD_status HYDU_sock_read(int fd, void *buf, int maxlen, int *recvd, int *closed,
-                          enum HYDU_sock_comm_flag flag);
-HYD_status HYDU_sock_write(int fd, const void *buf, int maxlen, int *sent, int *closed);
-HYD_status HYDU_sock_forward_stdio(int in, int out, int *closed);
-HYD_status HYDU_sock_get_iface_ip(char *iface, char **ip);
-HYD_status HYDU_sock_is_local(char *host, int *is_local);
-HYD_status HYDU_sock_remote_access(char *host, int *remote_access);
-HYD_status
-HYDU_sock_create_and_listen_portstr(char *iface, char *hostname, char *port_range,
-                                    char **port_str,
-                                    HYD_status(*callback) (int fd, HYD_event_t events,
-                                                           void *userp), void *userp);
-HYD_status HYDU_sock_cloexec(int fd);
-
-
-/* Memory utilities */
-#include <ctype.h>
-
-#if defined USE_MEMORY_TRACING
-
-#define HYDU_mem_init()  MPL_trinit(0)
-
-#define HYDU_strdup(a) MPL_trstrdup(a,__LINE__,__FILE__)
-#ifdef strdup
-#undef strdup
-#endif
-#define strdup(a)      'Error use HYDU_strdup' :::
-
-#define HYDU_malloc(a) MPL_trmalloc((unsigned)(a),__LINE__,__FILE__)
-#define malloc(a)      'Error use HYDU_malloc' :::
-
-#define HYDU_free(a) MPL_trfree(a,__LINE__,__FILE__)
-#define free(a)      'Error use HYDU_free' :::
-
-#else /* if !defined USE_MEMORY_TRACING */
-
-#define HYDU_mem_init()
-#define HYDU_strdup MPL_strdup
-#define HYDU_malloc malloc
-#define HYDU_free free
-
-#endif /* USE_MEMORY_TRACING */
-
-#define HYDU_snprintf MPL_snprintf
-
-#define HYDU_MALLOC(p, type, size, status)                              \
-    {                                                                   \
-        (p) = (type) HYDU_malloc((size));                               \
-        if ((p) == NULL)                                                \
-            HYDU_ERR_SETANDJUMP((status), HYD_NO_MEM,                   \
-                                "failed to allocate %d bytes\n",        \
-                                (int) (size));                          \
-    }
-
-#define HYDU_FREE(p)                            \
-    {                                           \
-        HYDU_free((void *) p);                  \
-    }
-
-#define HYDU_STRLIST_CONSOLIDATE(strlist, i, status)                    \
-    {                                                                   \
-        char *out;                                                      \
-        if ((i) >= (HYD_NUM_TMP_STRINGS / 2)) {                         \
-            (strlist)[(i)] = NULL;                                      \
-            (status) = HYDU_str_alloc_and_join((strlist), &out);        \
-            HYDU_ERR_POP((status), "unable to join strings\n");         \
-            HYDU_free_strlist((strlist));                               \
-            strlist[0] = out;                                           \
-            (i) = 1;                                                    \
-        }                                                               \
-    }
-
-#define HYD_GET_ENV_STR_VAL(lvalue_, env_var_name_, default_val_)       \
-    do {                                                       \
-        if (lvalue_ == NULL) {                                 \
-            const char *tmp_ = (default_val_);                 \
-            MPL_env2str(env_var_name_, (const char **) &tmp_); \
-            if (tmp_)                                          \
-                lvalue_ = HYDU_strdup(tmp_);                   \
-        }                                                      \
-    } while (0)
-
-HYD_status HYDU_list_append_strlist(char **exec, char **client_arg);
-HYD_status HYDU_print_strlist(char **args);
-void HYDU_free_strlist(char **args);
-HYD_status HYDU_str_alloc_and_join(char **strlist, char **strjoin);
-HYD_status HYDU_strsplit(char *str, char **str1, char **str2, char sep);
-HYD_status HYDU_strdup_list(char *src[], char **dest[]);
-char *HYDU_int_to_str(int x);
-char *HYDU_int_to_str_pad(int x, int maxlen);
-char *HYDU_strerror(int error);
-int HYDU_strlist_lastidx(char **strlist);
-char **HYDU_str_to_strlist(char *str);
-
-/*!
- * @}
- */
-
-#endif /* HYDRA_UTILS_H_INCLUDED */


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/mpich2prereq
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/mpich2prereq:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/mpich2prereq:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/mpich2prereq:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/mpich2prereq:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/mpich2prereq:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/mpich2prereq:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/mpich2prereq:5406
/mpich2/trunk/src/pm/hydra/mpich2prereq:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/mpich2prereq:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/mpich2prereq:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/mpich2prereq:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/mpich2prereq:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/mpich2prereq:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/mpich2prereq:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/mpich2prereq:5406
/mpich2/trunk/src/pm/hydra/mpich2prereq:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/pm:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/pm:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/pm:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/pm:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/pm:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/pm:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/pm:5406
/mpich2/trunk/src/pm/hydra/pm:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/pm:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/pm:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/pm:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/pm:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/pm:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/pm:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/pm:5406
/mpich2/trunk/src/pm/hydra/pm:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "common.h"
 #include "bind.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
 #ifndef COMMON_H_INCLUDED
 #define COMMON_H_INCLUDED
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 
 /* Generic definitions */
 #define MAXKEYLEN    64 /* max length of key in keyval space */

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -5,7 +5,6 @@
  */
 
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "bsci.h"
 #include "pmiserv_pmi.h"
 #include "pmi_v2_common.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
 #ifndef PMI_V2_COMMON_H_INCLUDED
 #define PMI_V2_COMMON_H_INCLUDED
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 
 struct HYD_pmcd_pmi_v2_reqs {
     int fd;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -5,7 +5,6 @@
  */
 
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "pmip.h"
 #include "demux.h"
 #include "bsci.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
 #ifndef PMIP_H_INCLUDED
 #define PMIP_H_INCLUDED
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "common.h"
 
 struct HYD_pmcd_pmip {

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -5,7 +5,6 @@
  */
 
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "pmip.h"
 #include "pmip_pmi.h"
 #include "ckpoint.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef PMIP_PMI_H_INCLUDED
 #define PMIP_PMI_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 #include "common.h"
 
 /* PMI-1 specific definitions */

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -160,7 +160,7 @@
     tmp[i++] = HYDU_strdup("cmd=initack\ncmd=set size=");
     tmp[i++] = HYDU_int_to_str(HYD_pmcd_pmip.system_global.global_process_count);
 
-    /* FIXME: allow for ranks_per_proc */
+    /* FIXME: allow for multiple ranks per PMI ID */
     tmp[i++] = HYDU_strdup("\ncmd=set rank=");
     tmp[i++] = HYDU_int_to_str(id);
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -170,7 +170,7 @@
             HYD_pmcd_pmip.downstream.pmi_fd[i] = fd;
 
     i = 0;
-    /* FIXME: add support for ranks_per_proc */
+    /* FIXME: allow for multiple ranks per PMI ID */
     tmp[i++] = HYDU_strdup("cmd=fullinit-response;pmi-version=2;pmi-subversion=0;rank=");
     tmp[i++] = HYDU_int_to_str(id);
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -9,7 +9,7 @@
 #include "bind.h"
 #include "ckpoint.h"
 #include "demux.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 
 struct HYD_pmcd_pmip HYD_pmcd_pmip;
 
@@ -93,11 +93,6 @@
     return HYDU_set_str_and_incr(arg, argv, &HYD_pmcd_pmip.user_global.iface);
 }
 
-static HYD_status prepend_rank_fn(char *arg, char ***argv)
-{
-    return HYDU_set_int(arg, argv, &HYD_pmcd_pmip.user_global.prepend_rank, 1);
-}
-
 static HYD_status enable_stdin_fn(char *arg, char ***argv)
 {
     return HYDU_set_int_and_incr(arg, argv, &HYD_pmcd_pmip.system_global.enable_stdin);
@@ -398,7 +393,6 @@
     {"launcher-exec", launcher_exec_fn, NULL},
     {"demux", demux_fn, NULL},
     {"iface", iface_fn, NULL},
-    {"prepend-rank", prepend_rank_fn, NULL},
     {"enable-stdin", enable_stdin_fn, NULL},
     {"auto-cleanup", auto_cleanup_fn, NULL},
 
@@ -467,9 +461,6 @@
     if (HYD_pmcd_pmip.user_global.debug == -1)
         HYD_pmcd_pmip.user_global.debug = 0;
 
-    if (HYD_pmcd_pmip.user_global.prepend_rank == -1)
-        HYD_pmcd_pmip.user_global.prepend_rank = 0;
-
     status = HYDT_bsci_init(HYD_pmcd_pmip.user_global.rmk,
                             HYD_pmcd_pmip.user_global.launcher,
                             HYD_pmcd_pmip.user_global.launcher_exec,

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "pmci.h"
 #include "bsci.h"
 #include "debugger.h"
@@ -26,15 +26,15 @@
     else
         HYD_pmcd_pmi_handle = HYD_pmcd_pmi_v2;
 
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         HYDU_dump(stdout, "[pgid: %d] got PMI command: %s\n", pgid, buf);
 
     status = HYD_pmcd_pmi_parse_pmi_cmd(buf, pmi_version, &cmd, args);
     HYDU_ERR_POP(status, "unable to parse PMI command\n");
 
 #if defined ENABLE_PROFILING
-    if (HYD_handle.enable_profiling)
-        HYD_handle.num_pmi_calls++;
+    if (HYD_server_info.enable_profiling)
+        HYD_server_info.num_pmi_calls++;
 #endif /* ENABLE_PROFILING */
 
     h = HYD_pmcd_pmi_handle;
@@ -143,7 +143,7 @@
     HYDU_ERR_POP(status, "unable to read command from proxy\n");
     HYDU_ASSERT(!closed, status)
 
-    if (hdr.cmd == PID_LIST) {  /* Got PIDs */
+        if (hdr.cmd == PID_LIST) {      /* Got PIDs */
         HYDU_MALLOC(proxy->pid, int *, proxy->proxy_process_count * sizeof(int), status);
         status = HYDU_sock_read(fd, (void *) proxy->pid,
                                 proxy->proxy_process_count * sizeof(int),
@@ -167,10 +167,12 @@
         HYDU_ERR_POP(status, "debugger setup failed\n");
     }
     else if (hdr.cmd == EXIT_STATUS) {
-        HYDU_MALLOC(proxy->exit_status, int *, proxy->proxy_process_count * sizeof(int), status);
-        status = HYDU_sock_read(fd, (void *) proxy->exit_status,
-                                proxy->proxy_process_count * sizeof(int),
-                                &count, &closed, HYDU_SOCK_COMM_MSGWAIT);
+        HYDU_MALLOC(proxy->exit_status, int *, proxy->proxy_process_count * sizeof(int),
+                    status);
+        status =
+            HYDU_sock_read(fd, (void *) proxy->exit_status,
+                           proxy->proxy_process_count * sizeof(int), &count, &closed,
+                           HYDU_SOCK_COMM_MSGWAIT);
         HYDU_ERR_POP(status, "unable to read status from proxy\n");
         HYDU_ASSERT(!closed, status);
 
@@ -179,7 +181,7 @@
 
         /* If any of the processes aborted, cleanup the remaining
          * processes */
-        if (HYD_handle.user_global.auto_cleanup) {
+        if (HYD_server_info.user_global.auto_cleanup) {
             for (i = 0; i < proxy->proxy_process_count; i++) {
                 if (proxy->exit_status[i]) {
                     status = HYD_pmcd_pmiserv_cleanup_pg(proxy->pg);
@@ -211,15 +213,17 @@
         HYDU_ASSERT(!closed, status);
 
         if (hdr.cmd == STDOUT)
-            status = HYD_handle.stdout_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
+            status =
+                HYD_server_info.stdout_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
         else
-            status = HYD_handle.stderr_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
+            status =
+                HYD_server_info.stderr_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
         HYDU_ERR_POP(status, "error in the UI defined callback\n");
 
         HYDU_FREE(buf);
     }
     else if (hdr.cmd == PROCESS_TERMINATED) {
-        if (HYD_handle.user_global.auto_cleanup == 0) {
+        if (HYD_server_info.user_global.auto_cleanup == 0) {
             /* Update the map of the alive processes */
             pg_scratch = (struct HYD_pmcd_pmi_pg_scratch *) proxy->pg->pg_scratch;
             pg_scratch->dead_process_count++;
@@ -333,7 +337,7 @@
                 pg_scratch->dead_processes = str;
             }
 
-            for (pg = &HYD_handle.pg_list; pg; pg = pg->next) {
+            for (pg = &HYD_server_info.pg_list; pg; pg = pg->next) {
                 for (tproxy = pg->proxy_list; tproxy; tproxy = tproxy->next) {
                     if (tproxy->control_fd == HYD_FD_UNSET ||
                         tproxy->control_fd == HYD_FD_CLOSED)
@@ -409,7 +413,7 @@
     HYDU_ASSERT(!closed, status);
 
     /* Find the process group */
-    for (pg = &HYD_handle.pg_list; pg; pg = pg->next)
+    for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
         if (pg->pgid == pgid)
             break;
     if (!pg)
@@ -458,7 +462,7 @@
     pgid = ((int) (size_t) userp);
 
     /* Find the process group */
-    for (pg = &HYD_handle.pg_list; pg; pg = pg->next)
+    for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
         if (pg->pgid == pgid)
             break;
     if (!pg)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "pmci.h"
 #include "pmiserv_pmi.h"
 #include "bsci.h"
@@ -20,7 +20,7 @@
 
     HYDU_FUNC_ENTER();
 
-    for (pg = &HYD_handle.pg_list; pg; pg = pg->next) {
+    for (pg = &HYD_server_info.pg_list; pg; pg = pg->next) {
         status = HYD_pmcd_pmiserv_cleanup_pg(pg);
         HYDU_ERR_POP(status, "unable to cleanup PG\n");
     }
@@ -54,7 +54,7 @@
 
 static HYD_status send_cmd_to_proxies(struct HYD_pmcd_hdr hdr)
 {
-    struct HYD_pg *pg = &HYD_handle.pg_list;
+    struct HYD_pg *pg = &HYD_server_info.pg_list;
     struct HYD_proxy *proxy;
     int sent, closed;
     HYD_status status = HYD_SUCCESS;
@@ -123,16 +123,17 @@
 
     HYDU_FUNC_ENTER();
 
-    status = HYDT_dmx_register_fd(1, &HYD_handle.cleanup_pipe[0], POLLIN, NULL, ui_cmd_cb);
+    status =
+        HYDT_dmx_register_fd(1, &HYD_server_info.cleanup_pipe[0], POLLIN, NULL, ui_cmd_cb);
     HYDU_ERR_POP(status, "unable to register fd\n");
 
-    status = HYD_pmcd_pmi_alloc_pg_scratch(&HYD_handle.pg_list);
+    status = HYD_pmcd_pmi_alloc_pg_scratch(&HYD_server_info.pg_list);
     HYDU_ERR_POP(status, "error allocating pg scratch space\n");
 
     /* Copy the host list to pass to the launcher */
     node_list = NULL;
     node_count = 0;
-    for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+    for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
         HYDU_alloc_node(&node);
         node->hostname = HYDU_strdup(proxy->node.hostname);
         node->core_count = proxy->node.core_count;
@@ -149,19 +150,19 @@
         node_count++;
     }
 
-    status = HYDU_sock_create_and_listen_portstr(HYD_handle.user_global.iface,
-                                                 HYD_handle.local_hostname,
-                                                 HYD_handle.port_range, &control_port,
+    status = HYDU_sock_create_and_listen_portstr(HYD_server_info.user_global.iface,
+                                                 HYD_server_info.local_hostname,
+                                                 HYD_server_info.port_range, &control_port,
                                                  HYD_pmcd_pmiserv_control_listen_cb,
                                                  (void *) (size_t) 0);
     HYDU_ERR_POP(status, "unable to create PMI port\n");
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         HYDU_dump(stdout, "Got a control port string of %s\n", control_port);
 
     status = HYD_pmcd_pmi_fill_in_proxy_args(proxy_args, control_port, 0);
     HYDU_ERR_POP(status, "unable to fill in proxy arguments\n");
 
-    status = HYD_pmcd_pmi_fill_in_exec_launch_info(&HYD_handle.pg_list);
+    status = HYD_pmcd_pmi_fill_in_exec_launch_info(&HYD_server_info.pg_list);
     HYDU_ERR_POP(status, "unable to fill in executable arguments\n");
 
     status = HYDT_dmx_stdin_valid(&enable_stdin);
@@ -171,13 +172,15 @@
     for (i = 0; i < node_count; i++)
         control_fd[i] = HYD_FD_UNSET;
 
-    status = HYDT_bind_init(HYD_handle.user_global.binding, HYD_handle.user_global.bindlib);
+    status =
+        HYDT_bind_init(HYD_server_info.user_global.binding,
+                       HYD_server_info.user_global.bindlib);
     HYDU_ERR_POP(status, "unable to initializing binding library");
 
     status = HYDT_bsci_launch_procs(proxy_args, node_list, control_fd, enable_stdin);
     HYDU_ERR_POP(status, "launcher cannot launch processes\n");
 
-    for (i = 0, proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next, i++)
+    for (i = 0, proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next, i++)
         if (control_fd[i] != HYD_FD_UNSET) {
             proxy->control_fd = control_fd[i];
 
@@ -210,7 +213,7 @@
 
     /* We first wait for the exit statuses to arrive till the timeout
      * period */
-    for (pg = &HYD_handle.pg_list; pg; pg = pg->next) {
+    for (pg = &HYD_server_info.pg_list; pg; pg = pg->next) {
         pg_scratch = (struct HYD_pmcd_pmi_pg_scratch *) pg->pg_scratch;
 
         while (pg_scratch->control_listen_fd != HYD_FD_CLOSED) {

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra.h"
+#include "hydra_server.h"
 #include "pmiserv_pmi.h"
 #include "pmiserv_utils.h"
 
@@ -17,7 +17,7 @@
     struct HYD_pg *pg;
     struct HYD_proxy *proxy;
 
-    for (pg = &HYD_handle.pg_list; pg; pg = pg->next)
+    for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
         for (proxy = pg->proxy_list; proxy; proxy = proxy->next)
             if (proxy->control_fd == fd)
                 return proxy;
@@ -69,7 +69,7 @@
 
     HYDU_FUNC_ENTER();
 
-    if (HYD_handle.nameserver == NULL) {
+    if (HYD_server_info.nameserver == NULL) {
         /* no external nameserver available */
         for (r = HYD_pmcd_pmi_publish_list; r; r = r->next)
             if (!strcmp(r->name, name))
@@ -101,7 +101,7 @@
 
         /* connect to the external nameserver and store the
          * information there */
-        ns = HYDU_strdup(HYD_handle.nameserver);
+        ns = HYDU_strdup(HYD_server_info.nameserver);
 
         ns_host = strtok(ns, ":");
         HYDU_ASSERT(ns_host, status);
@@ -163,7 +163,7 @@
     HYDU_FUNC_ENTER();
 
     *success = 0;
-    if (HYD_handle.nameserver == NULL) {
+    if (HYD_server_info.nameserver == NULL) {
         /* no external nameserver available */
         if (!strcmp(HYD_pmcd_pmi_publish_list->name, name)) {
             publish = HYD_pmcd_pmi_publish_list;
@@ -199,7 +199,7 @@
 
         /* connect to the external nameserver and get the information
          * from there */
-        ns = HYDU_strdup(HYD_handle.nameserver);
+        ns = HYDU_strdup(HYD_server_info.nameserver);
 
         ns_host = strtok(ns, ":");
         HYDU_ASSERT(ns_host, status);
@@ -255,7 +255,7 @@
 
     HYDU_FUNC_ENTER();
 
-    if (HYD_handle.nameserver == NULL) {
+    if (HYD_server_info.nameserver == NULL) {
         /* no external nameserver available */
         for (publish = HYD_pmcd_pmi_publish_list; publish; publish = publish->next)
             if (!strcmp(publish->name, name))
@@ -270,7 +270,7 @@
 
         /* connect to the external nameserver and get the information
          * from there */
-        ns = HYDU_strdup(HYD_handle.nameserver);
+        ns = HYDU_strdup(HYD_server_info.nameserver);
 
         ns_host = strtok(ns, ":");
         HYDU_ASSERT(ns_host, status);

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef PMISERV_PMI_H_INCLUDED
 #define PMISERV_PMI_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 #include "demux.h"
 #include "common.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "bsci.h"
 #include "pmiserv.h"
 #include "pmiserv_pmi.h"
@@ -28,7 +28,7 @@
     HYDU_ERR_POP(status, "unable to send PMI_RESPONSE header to proxy\n");
     HYDU_ASSERT(!closed, status);
 
-    if (HYD_handle.user_global.debug) {
+    if (HYD_server_info.user_global.debug) {
         HYDU_dump(stdout, "PMI response to fd %d pid %d: %s", fd, pid, cmd);
     }
 
@@ -331,7 +331,7 @@
     }
 
     /* Allocate a new process group */
-    for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+    for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
     new_pgid = pg->pgid + 1;
 
     status = HYDU_alloc_pg(&pg->next, new_pgid);
@@ -406,14 +406,16 @@
                 exec->wdir = HYDU_strdup(info_val);
             }
             else if (!strcmp(info_key, "host")) {
-                HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node), status);
+                HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node),
+                            status);
                 user_node_list->hostname = HYDU_strdup(info_val);
                 user_node_list->core_count = 1;
                 user_node_list->local_binding = NULL;
                 user_node_list->next = NULL;
             }
             else if (!strcmp(info_key, "hostfile")) {
-                status = HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
+                status =
+                    HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
                 HYDU_ERR_POP(status, "error parsing hostfile\n");
             }
             else {
@@ -500,7 +502,7 @@
 
     /* Create the proxy list */
     offset = 0;
-    for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next)
+    for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next)
         offset += pg->pg_process_count;
 
     if (user_node_list) {
@@ -508,22 +510,22 @@
         HYDU_ERR_POP(status, "error creating proxy list\n");
     }
     else {
-        status = HYDU_create_proxy_list(exec_list, HYD_handle.node_list, pg, offset);
+        status = HYDU_create_proxy_list(exec_list, HYD_server_info.node_list, pg, offset);
         HYDU_ERR_POP(status, "error creating proxy list\n");
     }
     HYDU_free_exec_list(exec_list);
 
-    status = HYDU_sock_create_and_listen_portstr(HYD_handle.user_global.iface,
-                                                 HYD_handle.local_hostname,
-                                                 HYD_handle.port_range, &control_port,
+    status = HYDU_sock_create_and_listen_portstr(HYD_server_info.user_global.iface,
+                                                 HYD_server_info.local_hostname,
+                                                 HYD_server_info.port_range, &control_port,
                                                  HYD_pmcd_pmiserv_control_listen_cb,
                                                  (void *) (size_t) new_pgid);
     HYDU_ERR_POP(status, "unable to create PMI port\n");
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         HYDU_dump(stdout, "Got a control port string of %s\n", control_port);
 
     /* Go to the last PG */
-    for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+    for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
 
     /* Copy the host list to pass to the launcher */
     node_list = NULL;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "bsci.h"
 #include "pmiserv.h"
 #include "pmiserv_pmi.h"
@@ -42,7 +42,7 @@
     HYDU_ERR_POP(status, "error writing PMI line\n");
     HYDU_ASSERT(!closed, status);
 
-    if (HYD_handle.user_global.debug) {
+    if (HYD_server_info.user_global.debug) {
         HYDU_dump(stdout, "PMI response to fd %d pid %d: %s\n", fd, pid, cmd);
     }
 
@@ -512,7 +512,7 @@
 
 
     /* Allocate a new process group */
-    for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+    for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
     new_pgid = pg->pgid + 1;
 
     status = HYDU_alloc_pg(&pg->next, new_pgid);
@@ -587,14 +587,16 @@
                 exec->wdir = HYDU_strdup(info_val);
             }
             else if (!strcmp(info_key, "host")) {
-                HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node), status);
+                HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node),
+                            status);
                 user_node_list->hostname = HYDU_strdup(info_val);
                 user_node_list->core_count = 1;
                 user_node_list->local_binding = NULL;
                 user_node_list->next = NULL;
             }
             else if (!strcmp(info_key, "hostfile")) {
-                status = HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
+                status =
+                    HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
                 HYDU_ERR_POP(status, "error parsing hostfile\n");
             }
             else {
@@ -681,7 +683,7 @@
 
     /* Create the proxy list */
     offset = 0;
-    for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next)
+    for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next)
         offset += pg->pg_process_count;
 
     if (user_node_list) {
@@ -689,22 +691,22 @@
         HYDU_ERR_POP(status, "error creating proxy list\n");
     }
     else {
-        status = HYDU_create_proxy_list(exec_list, HYD_handle.node_list, pg, offset);
+        status = HYDU_create_proxy_list(exec_list, HYD_server_info.node_list, pg, offset);
         HYDU_ERR_POP(status, "error creating proxy list\n");
     }
     HYDU_free_exec_list(exec_list);
 
-    status = HYDU_sock_create_and_listen_portstr(HYD_handle.user_global.iface,
-                                                 HYD_handle.local_hostname,
-                                                 HYD_handle.port_range, &control_port,
+    status = HYDU_sock_create_and_listen_portstr(HYD_server_info.user_global.iface,
+                                                 HYD_server_info.local_hostname,
+                                                 HYD_server_info.port_range, &control_port,
                                                  HYD_pmcd_pmiserv_control_listen_cb,
                                                  (void *) (size_t) new_pgid);
     HYDU_ERR_POP(status, "unable to create PMI port\n");
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         HYDU_dump(stdout, "Got a control port string of %s\n", control_port);
 
     /* Go to the last PG */
-    for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+    for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
 
     /* Copy the host list to pass to the launcher */
     node_list = NULL;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra.h"
+#include "hydra_server.h"
 #include "pmci.h"
 #include "bsci.h"
 #include "pmiserv_pmi.h"
@@ -46,7 +46,7 @@
     }
 
     i = 0;
-    path_str[i++] = HYDU_strdup(HYD_handle.base_path);
+    path_str[i++] = HYDU_strdup(HYD_server_info.base_path);
     path_str[i++] = HYDU_strdup("hydra_pmi_proxy");
     path_str[i] = NULL;
     status = HYDU_str_alloc_and_join(path_str, &proxy_args[arg++]);
@@ -56,33 +56,30 @@
     proxy_args[arg++] = HYDU_strdup("--control-port");
     proxy_args[arg++] = HYDU_strdup(control_port);
 
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         proxy_args[arg++] = HYDU_strdup("--debug");
 
-    if (HYD_handle.user_global.rmk) {
+    if (HYD_server_info.user_global.rmk) {
         proxy_args[arg++] = HYDU_strdup("--rmk");
-        proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.rmk);
+        proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.rmk);
     }
 
-    if (HYD_handle.user_global.launcher) {
+    if (HYD_server_info.user_global.launcher) {
         proxy_args[arg++] = HYDU_strdup("--launcher");
-        proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.launcher);
+        proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.launcher);
     }
 
-    if (HYD_handle.user_global.launcher_exec) {
+    if (HYD_server_info.user_global.launcher_exec) {
         proxy_args[arg++] = HYDU_strdup("--launcher-exec");
-        proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.launcher_exec);
+        proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.launcher_exec);
     }
 
-    if (HYD_handle.user_global.prepend_rank)
-        proxy_args[arg++] = HYDU_strdup("--prepend-rank");
-
     proxy_args[arg++] = HYDU_strdup("--demux");
-    proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.demux);
+    proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.demux);
 
-    if (HYD_handle.user_global.iface) {
+    if (HYD_server_info.user_global.iface) {
         proxy_args[arg++] = HYDU_strdup("--iface");
-        proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.iface);
+        proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.iface);
     }
 
     proxy_args[arg++] = HYDU_strdup("--pgid");
@@ -102,7 +99,7 @@
     proxy_args[arg++] = HYDU_strdup("--proxy-id");
     proxy_args[arg++] = NULL;
 
-    if (HYD_handle.user_global.debug) {
+    if (HYD_server_info.user_global.debug) {
         HYDU_dump_noprefix(stdout, "\nProxy launch args: ");
         HYDU_print_strlist(proxy_args);
         HYDU_dump_noprefix(stdout, "\n");
@@ -216,11 +213,11 @@
     /* Create the arguments list for each proxy */
     process_id = 0;
     for (proxy = pg->proxy_list; proxy; proxy = proxy->next) {
-        for (inherited_env_count = 0, env = HYD_handle.user_global.global_env.inherited; env;
-             env = env->next, inherited_env_count++);
-        for (user_env_count = 0, env = HYD_handle.user_global.global_env.user; env;
+        for (inherited_env_count = 0, env = HYD_server_info.user_global.global_env.inherited;
+             env; env = env->next, inherited_env_count++);
+        for (user_env_count = 0, env = HYD_server_info.user_global.global_env.user; env;
              env = env->next, user_env_count++);
-        for (system_env_count = 0, env = HYD_handle.user_global.global_env.system; env;
+        for (system_env_count = 0, env = HYD_server_info.user_global.global_env.system; env;
              env = env->next, system_env_count++);
 
         for (exec_count = 0, exec = proxy->exec_list; exec; exec = exec->next)
@@ -245,27 +242,28 @@
         proxy->exec_launch_info[arg++] = HYDU_strdup("--version");
         proxy->exec_launch_info[arg++] = HYDU_strdup(HYDRA_VERSION);
 
-        if (HYD_handle.interface_env_name) {
+        if (HYD_server_info.interface_env_name) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--interface-env-name");
-            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.interface_env_name);
+            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_server_info.interface_env_name);
         }
 
         proxy->exec_launch_info[arg++] = HYDU_strdup("--hostname");
         proxy->exec_launch_info[arg++] = HYDU_strdup(proxy->node.hostname);
 
         proxy->exec_launch_info[arg++] = HYDU_strdup("--global-core-count");
-        proxy->exec_launch_info[arg++] = HYDU_int_to_str(HYD_handle.global_core_count);
+        proxy->exec_launch_info[arg++] = HYDU_int_to_str(HYD_server_info.global_core_count);
 
         proxy->exec_launch_info[arg++] = HYDU_strdup("--global-process-count");
         proxy->exec_launch_info[arg++] = HYDU_int_to_str(pg->pg_process_count);
 
         proxy->exec_launch_info[arg++] = HYDU_strdup("--auto-cleanup");
-        proxy->exec_launch_info[arg++] = HYDU_int_to_str(HYD_handle.user_global.auto_cleanup);
+        proxy->exec_launch_info[arg++] =
+            HYDU_int_to_str(HYD_server_info.user_global.auto_cleanup);
 
         /* Check if we are running in embedded mode */
         ret = MPL_env2str("PMI_FD", (const char **) &pmi_fd);
         if (ret) {      /* PMI_FD already set */
-            if (HYD_handle.user_global.debug)
+            if (HYD_server_info.user_global.debug)
                 HYDU_dump(stdout, "someone else already set PMI FD\n");
             pmi_fd = HYDU_strdup(pmi_fd);
 
@@ -280,7 +278,7 @@
 
         ret = MPL_env2str("PMI_PORT", (const char **) &pmi_port);
         if (ret) {      /* PMI_FD already set */
-            if (HYD_handle.user_global.debug)
+            if (HYD_server_info.user_global.debug)
                 HYDU_dump(stdout, "someone else already set PMI PORT\n");
             pmi_port = HYDU_strdup(pmi_port);
 
@@ -297,7 +295,7 @@
             HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
                                 "both PMI_FD and PMI_PORT have been set\n");
 
-        if (HYD_handle.user_global.debug)
+        if (HYD_server_info.user_global.debug)
             HYDU_dump(stdout, "PMI FD: %s; PMI PORT: %s; PMI ID/RANK: %d\n", pmi_fd, pmi_port,
                       pmi_rank);
 
@@ -333,39 +331,40 @@
             proxy->exec_launch_info[arg++] = HYDU_strdup(proxy->node.local_binding);
         }
 
-        if (HYD_handle.user_global.binding) {
+        if (HYD_server_info.user_global.binding) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--binding");
-            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.user_global.binding);
+            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_server_info.user_global.binding);
         }
 
-        if (HYD_handle.user_global.bindlib) {
+        if (HYD_server_info.user_global.bindlib) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--bindlib");
-            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.user_global.bindlib);
+            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_server_info.user_global.bindlib);
         }
 
-        if (HYD_handle.user_global.ckpointlib) {
+        if (HYD_server_info.user_global.ckpointlib) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--ckpointlib");
-            proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.user_global.ckpointlib);
+            proxy->exec_launch_info[arg++] =
+                HYDU_strdup(HYD_server_info.user_global.ckpointlib);
         }
 
-        if (HYD_handle.user_global.ckpoint_prefix) {
+        if (HYD_server_info.user_global.ckpoint_prefix) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--ckpoint-prefix");
             proxy->exec_launch_info[arg++] =
-                HYDU_strdup(HYD_handle.user_global.ckpoint_prefix);
+                HYDU_strdup(HYD_server_info.user_global.ckpoint_prefix);
         }
 
-        if (HYD_handle.user_global.ckpoint_num) {
+        if (HYD_server_info.user_global.ckpoint_num) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--ckpoint-num");
             proxy->exec_launch_info[arg++] =
-                HYDU_int_to_str(HYD_handle.user_global.ckpoint_num);
+                HYDU_int_to_str(HYD_server_info.user_global.ckpoint_num);
         }
 
         proxy->exec_launch_info[arg++] = HYDU_strdup("--global-inherited-env");
-        for (i = 0, env = HYD_handle.user_global.global_env.inherited; env;
+        for (i = 0, env = HYD_server_info.user_global.global_env.inherited; env;
              env = env->next, i++);
         proxy->exec_launch_info[arg++] = HYDU_int_to_str(i);
 
-        for (env = HYD_handle.user_global.global_env.inherited; env; env = env->next) {
+        for (env = HYD_server_info.user_global.global_env.inherited; env; env = env->next) {
             status = HYDU_env_to_str(env, &proxy->exec_launch_info[arg++]);
             HYDU_ERR_POP(status, "error converting env to string\n");
         }
@@ -373,10 +372,11 @@
 
         arg = HYDU_strlist_lastidx(proxy->exec_launch_info);
         proxy->exec_launch_info[arg++] = HYDU_strdup("--global-user-env");
-        for (i = 0, env = HYD_handle.user_global.global_env.user; env; env = env->next, i++);
+        for (i = 0, env = HYD_server_info.user_global.global_env.user; env;
+             env = env->next, i++);
         proxy->exec_launch_info[arg++] = HYDU_int_to_str(i);
 
-        for (env = HYD_handle.user_global.global_env.user; env; env = env->next) {
+        for (env = HYD_server_info.user_global.global_env.user; env; env = env->next) {
             status = HYDU_env_to_str(env, &proxy->exec_launch_info[arg++]);
             HYDU_ERR_POP(status, "error converting env to string\n");
         }
@@ -384,20 +384,21 @@
 
         arg = HYDU_strlist_lastidx(proxy->exec_launch_info);
         proxy->exec_launch_info[arg++] = HYDU_strdup("--global-system-env");
-        for (i = 0, env = HYD_handle.user_global.global_env.system; env; env = env->next, i++);
+        for (i = 0, env = HYD_server_info.user_global.global_env.system; env;
+             env = env->next, i++);
         proxy->exec_launch_info[arg++] = HYDU_int_to_str(i);
 
-        for (env = HYD_handle.user_global.global_env.system; env; env = env->next) {
+        for (env = HYD_server_info.user_global.global_env.system; env; env = env->next) {
             status = HYDU_env_to_str(env, &proxy->exec_launch_info[arg++]);
             HYDU_ERR_POP(status, "error converting env to string\n");
         }
         proxy->exec_launch_info[arg++] = NULL;
 
         arg = HYDU_strlist_lastidx(proxy->exec_launch_info);
-        if (HYD_handle.user_global.global_env.prop) {
+        if (HYD_server_info.user_global.global_env.prop) {
             proxy->exec_launch_info[arg++] = HYDU_strdup("--genv-prop");
             proxy->exec_launch_info[arg++] =
-                HYDU_strdup(HYD_handle.user_global.global_env.prop);
+                HYDU_strdup(HYD_server_info.user_global.global_env.prop);
         }
 
         proxy->exec_launch_info[arg++] = HYDU_strdup("--start-pid");
@@ -452,7 +453,7 @@
             process_id += exec->proc_count;
         }
 
-        if (HYD_handle.user_global.debug) {
+        if (HYD_server_info.user_global.debug) {
             HYDU_dump_noprefix(stdout, "Arguments being passed to proxy %d:\n", proxy_count++);
             HYDU_print_strlist(proxy->exec_launch_info);
             HYDU_dump_noprefix(stdout, "\n");


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/tools:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/tools:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/tools:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/tools:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/tools:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/tools:5406
/mpich2/trunk/src/pm/hydra/tools:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/tools:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/tools:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/tools:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/tools:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/tools:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/tools:5406
/mpich2/trunk/src/pm/hydra/tools:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bind.h"
 
 #if defined HAVE_PLPA

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -9,7 +9,7 @@
 
 /** @file bind.h */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 /*! \cond */
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bind.h"
 #include "bind_hwloc.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bind.h"
 #include "bind_plpa.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "external.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "external.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "external.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "bind.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "external.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef LL_H_INCLUDED
 #define LL_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 
 HYD_status HYDT_bscd_ll_launch_procs(char **args, struct HYD_node *node_list,
                                      int *control_fd, int enable_stdin);

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "bind.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "ll.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "ll.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef LSF_H_INCLUDED
 #define LSF_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 
 HYD_status HYDT_bscd_lsf_query_node_list(struct HYD_node **node_list);
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "lsf.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef PBS_H_INCLUDED
 #define PBS_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 
 HYD_status HYDT_bscd_pbs_query_node_list(struct HYD_node **node_list);
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "pbs.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef SGE_H_INCLUDED
 #define SGE_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 
 HYD_status HYDT_bscd_sge_query_node_list(struct HYD_node **node_list);
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "sge.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef SLURM_H_INCLUDED
 #define SLURM_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 
 HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_node *node_list,
                                         int *control_fd, int enable_stdin);

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "bind.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "slurm.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "slurm.h"


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "ssh.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef SSH_H_INCLUDED
 #define SSH_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 
 /* Modern sshd servers don't like more than a certain number of ssh
  * connections from the same IP address per minute. If we exceed that,

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef PERSIST_CLIENT_H_INCLUDED
 #define PERSIST_CLIENT_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 #include "bscu.h"
 #include "persist.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "persist_client.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 #include "persist_client.h"

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bind.h"
 #include "persist_server.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef PERSIST_SERVER_H_INCLUDED
 #define PERSIST_SERVER_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 #include "demux.h"
 #include "persist.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "persist_client.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 
 HYD_status HYDT_bsci_launch_procs(char **args, struct HYD_node *node_list, int *control_fd,

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 #include "bscu.h"
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef BSCU_H_INCLUDED
 #define BSCU_H_INCLUDED
 
-#include "hydra_base.h"
+#include "hydra.h"
 #include "demux.h"
 
 extern int *HYD_bscu_fd_list;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_stdio_cb(int fd, HYD_event_t events, void *userp)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_query_env_inherit(const char *env_name, int *ret)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_rmk_finalize(void)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_query_native_int(int *ret)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_query_node_list(struct HYD_node **node_list)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_query_proxy_id(int *proxy_id)


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 HYD_status HYDT_bscu_query_usize(int *size)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bscu.h"
 
 int *HYD_bscu_fd_list = NULL;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "ckpoint.h"
 #include "ckpoint_blcr.h"
 #include <libcr.h>

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "ckpoint.h"
 
 #if defined HAVE_BLCR

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -9,7 +9,7 @@
 
 /** @file ckpoint.h */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 /*! \addtogroup ckpoint Checkpointing Library Interface
  * @{

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "debugger.h"
 
 struct MPIR_PROCDESC *MPIR_proctable = NULL;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
 #ifndef DEMUX_H_INCLUDED
 #define DEMUX_H_INCLUDED
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 
 /*! \addtogroup demux Demultiplexing Engine
  * @{

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
 #ifndef DEMUX_INTERNAL_H_INCLUDED
 #define DEMUX_INTERNAL_H_INCLUDED
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 
 struct HYDT_dmxu_callback {
     int num_fds;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "hydt_ftb.h"
 
 static FTB_client_handle_t ch;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "hydt_ftb.h"
 
 HYD_status HYDT_ftb_init(void)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "demux.h"
 
 struct HYDT_ns_publish {


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/ui:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/ui:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/ui:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/ui:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/ui:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/ui:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/ui:5406
/mpich2/trunk/src/pm/hydra/ui:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/ui:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/ui:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/ui:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/ui:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/ui:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/ui:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/ui:5406
/mpich2/trunk/src/pm/hydra/ui:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,6 +4,8 @@
 #     See COPYRIGHT in top-level directory.
 #
 
+AM_CPPFLAGS += -I$(top_srcdir)/ui/include
+
 include ui/utils/Makefile.mk
 
 if hydra_ui_mpich

Deleted: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h
===================================================================
--- mpich2/trunk/src/pm/hydra/ui/include/ui.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -1,18 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *  (C) 2008 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#ifndef UI_H_INCLUDED
-#define UI_H_INCLUDED
-
-struct HYD_ui_info {
-    char *prepend_regex;
-    char *outfile_regex;
-    char *errfile_regex;
-};
-
-extern struct HYD_ui_info HYD_ui_info;
-
-#endif /* UI_H_INCLUDED */

Copied: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h (from rev 7654, mpich2/trunk/src/pm/hydra/ui/include/ui.h)
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h	                        (rev 0)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -0,0 +1,18 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ *  (C) 2008 by Argonne National Laboratory.
+ *      See COPYRIGHT in top-level directory.
+ */
+
+#ifndef UI_H_INCLUDED
+#define UI_H_INCLUDED
+
+struct HYD_ui_info {
+    char *prepend_regex;
+    char *outfile_regex;
+    char *errfile_regex;
+};
+
+extern struct HYD_ui_info HYD_ui_info;
+
+#endif /* UI_H_INCLUDED */

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,18 +4,21 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "mpiexec.h"
 #include "pmci.h"
 #include "bsci.h"
 #include "hydt_ftb.h"
 #include "demux.h"
+#include "ui.h"
 #include "uiu.h"
 
-struct HYD_handle HYD_handle = { {0} };
+struct HYD_server_info HYD_server_info = { {0} };
 
 struct HYD_exec *HYD_uii_mpx_exec_list = NULL;
+struct HYD_ui_info HYD_ui_info;
+struct HYD_ui_mpich_info HYD_ui_mpich_info;
 
 static void usage(void)
 {
@@ -106,6 +109,9 @@
     printf("    -ppn                             processes per node\n");
     printf("    -profile                         turn on internal profiling\n");
     printf("    -prepend-rank                    prepend rank to output\n");
+    printf("    -prepend-regex                   prepend regex to output\n");
+    printf("    -outfile-regex                   direct stdout to file\n");
+    printf("    -errfile-regex                   direct stderr to file\n");
     printf
         ("    -nameserver                      name server information (host:port format)\n");
     printf("    -disable-auto-cleanup            don't cleanup processes on error\n");
@@ -129,21 +135,21 @@
          * and send a signal to ourselves. The signal callback does
          * the process cleanup instead. */
         cmd.type = HYD_CLEANUP;
-        HYDU_sock_write(HYD_handle.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
+        HYDU_sock_write(HYD_server_info.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
     }
     else if (sig == SIGUSR1 || sig == SIGALRM) {
-        if (HYD_handle.user_global.ckpoint_prefix == NULL) {
+        if (HYD_server_info.user_global.ckpoint_prefix == NULL) {
             HYDU_dump(stderr, "No checkpoint prefix provided\n");
             return;
         }
 
 #if HAVE_ALARM
-        if (HYD_handle.ckpoint_int != -1)
-            alarm(HYD_handle.ckpoint_int);
+        if (HYD_ui_mpich_info.ckpoint_int != -1)
+            alarm(HYD_ui_mpich_info.ckpoint_int);
 #endif /* HAVE_ALARM */
 
         cmd.type = HYD_CKPOINT;
-        HYDU_sock_write(HYD_handle.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
+        HYDU_sock_write(HYD_server_info.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
     }
     /* Ignore all other signals */
 
@@ -152,8 +158,8 @@
 }
 
 #define ordered(n1, n2) \
-    (((HYD_handle.sort_order == ASCENDING) && ((n1)->core_count <= (n2)->core_count)) || \
-     ((HYD_handle.sort_order == DESCENDING) && ((n1)->core_count >= (n2)->core_count)))
+    (((HYD_ui_mpich_info.sort_order == ASCENDING) && ((n1)->core_count <= (n2)->core_count)) || \
+     ((HYD_ui_mpich_info.sort_order == DESCENDING) && ((n1)->core_count >= (n2)->core_count)))
 
 static int compar(const void *_n1, const void *_n2)
 {
@@ -170,7 +176,7 @@
     else
         ret = 1;
 
-    if (HYD_handle.sort_order == DESCENDING)
+    if (HYD_ui_mpich_info.sort_order == DESCENDING)
         ret *= -1;
 
     return ret;
@@ -182,10 +188,10 @@
     int count, i;
     HYD_status status = HYD_SUCCESS;
 
-    for (count = 0, node = HYD_handle.node_list; node; node = node->next, count++);
+    for (count = 0, node = HYD_server_info.node_list; node; node = node->next, count++);
 
     HYDU_MALLOC(node_list, struct HYD_node **, count * sizeof(struct HYD_node *), status);
-    for (i = 0, node = HYD_handle.node_list; node; node = node->next, i++)
+    for (i = 0, node = HYD_server_info.node_list; node; node = node->next, i++)
         node_list[i] = node;
 
     qsort((void *) node_list, (size_t) count, sizeof(struct HYD_node *), compar);
@@ -196,7 +202,7 @@
         r1 = r1->next;
         r1->next = NULL;
     }
-    HYD_handle.node_list = new_list;
+    HYD_server_info.node_list = new_list;
 
     HYDU_FREE(node_list);
 
@@ -225,7 +231,7 @@
     status = HYDU_set_common_signals(signal_cb);
     HYDU_ERR_POP(status, "unable to set signal\n");
 
-    if (pipe(HYD_handle.cleanup_pipe) < 0)
+    if (pipe(HYD_server_info.cleanup_pipe) < 0)
         HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "pipe error\n");
 
     status = HYDT_ftb_init();
@@ -246,29 +252,30 @@
     /* Now we initialize engines that require us to know user
      * preferences */
 #if HAVE_ALARM
-    if (HYD_handle.ckpoint_int != -1)
-        alarm(HYD_handle.ckpoint_int);
+    if (HYD_ui_mpich_info.ckpoint_int != -1)
+        alarm(HYD_ui_mpich_info.ckpoint_int);
 #endif /* HAVE_ALARM */
 
-    status = HYDT_dmx_init(&HYD_handle.user_global.demux);
+    status = HYDT_dmx_init(&HYD_server_info.user_global.demux);
     HYDU_ERR_POP(status, "unable to initialize the demux engine\n");
 
-    status = HYDT_bsci_init(HYD_handle.user_global.rmk, HYD_handle.user_global.launcher,
-                            HYD_handle.user_global.launcher_exec,
-                            HYD_handle.user_global.enablex, HYD_handle.user_global.debug);
+    status =
+        HYDT_bsci_init(HYD_server_info.user_global.rmk, HYD_server_info.user_global.launcher,
+                       HYD_server_info.user_global.launcher_exec,
+                       HYD_server_info.user_global.enablex, HYD_server_info.user_global.debug);
     HYDU_ERR_POP(status, "unable to initialize the bootstrap server\n");
 
     reset_rmk = 0;
 
-    if (HYD_handle.node_list == NULL) {
+    if (HYD_server_info.node_list == NULL) {
         /* Node list is not created yet. The user might not have
          * provided the host file. Query the RMK. */
-        status = HYDT_bsci_query_node_list(&HYD_handle.node_list);
+        status = HYDT_bsci_query_node_list(&HYD_server_info.node_list);
         HYDU_ERR_POP(status, "unable to query the RMK for a node list\n");
 
-        if (HYD_handle.node_list == NULL) {
+        if (HYD_server_info.node_list == NULL) {
             /* The RMK didn't give us anything back; use localhost */
-            status = HYDU_add_to_node_list("localhost", 1, &HYD_handle.node_list);
+            status = HYDU_add_to_node_list("localhost", 1, &HYD_server_info.node_list);
             HYDU_ERR_POP(status, "unable to add to node list\n");
 
             reset_rmk = 1;
@@ -277,13 +284,13 @@
 
     /* Reset the host list to use only the number of processes per
      * node as specified by the ppn option. */
-    if (HYD_handle.ppn != -1)
-        for (node = HYD_handle.node_list; node; node = node->next)
-            node->core_count = HYD_handle.ppn;
+    if (HYD_ui_mpich_info.ppn != -1)
+        for (node = HYD_server_info.node_list; node; node = node->next)
+            node->core_count = HYD_ui_mpich_info.ppn;
 
     /* The RMK returned a node list. See if the user requested us to
      * manipulate it in some way */
-    if (HYD_handle.sort_order != NONE) {
+    if (HYD_ui_mpich_info.sort_order != NONE) {
         qsort_node_list();
         reset_rmk = 1;
     }
@@ -295,40 +302,41 @@
         status = HYDT_bsci_finalize();
         HYDU_ERR_POP(status, "unable to finalize bootstrap device\n");
 
-        status = HYDT_bsci_init("none", HYD_handle.user_global.launcher,
-                                HYD_handle.user_global.launcher_exec,
-                                HYD_handle.user_global.enablex, HYD_handle.user_global.debug);
+        status = HYDT_bsci_init("none", HYD_server_info.user_global.launcher,
+                                HYD_server_info.user_global.launcher_exec,
+                                HYD_server_info.user_global.enablex,
+                                HYD_server_info.user_global.debug);
         HYDU_ERR_POP(status, "unable to reinitialize the bootstrap server\n");
     }
 
-    HYD_handle.global_core_count = 0;
-    for (node = HYD_handle.node_list; node; node = node->next)
-        HYD_handle.global_core_count += node->core_count;
+    HYD_server_info.global_core_count = 0;
+    for (node = HYD_server_info.node_list; node; node = node->next)
+        HYD_server_info.global_core_count += node->core_count;
 
     /* If the number of processes is not given, we allocate all the
      * available nodes to each executable */
     for (exec = HYD_uii_mpx_exec_list; exec; exec = exec->next) {
         if (exec->proc_count == -1) {
-            if (HYD_handle.global_core_count == 0)
+            if (HYD_server_info.global_core_count == 0)
                 exec->proc_count = 1;
             else
-                exec->proc_count = HYD_handle.global_core_count;
+                exec->proc_count = HYD_server_info.global_core_count;
 
             /* If we didn't get anything from the user, take whatever
              * the RMK gave */
-            HYD_handle.pg_list.pg_process_count += exec->proc_count;
+            HYD_server_info.pg_list.pg_process_count += exec->proc_count;
         }
     }
 
-    status = HYDU_list_inherited_env(&HYD_handle.user_global.global_env.inherited);
+    status = HYDU_list_inherited_env(&HYD_server_info.user_global.global_env.inherited);
     HYDU_ERR_POP(status, "unable to get the inherited env list\n");
 
-    status = HYDU_create_proxy_list(HYD_uii_mpx_exec_list, HYD_handle.node_list,
-                                    &HYD_handle.pg_list, 0);
+    status = HYDU_create_proxy_list(HYD_uii_mpx_exec_list, HYD_server_info.node_list,
+                                    &HYD_server_info.pg_list, 0);
     HYDU_ERR_POP(status, "unable to create proxy list\n");
 
     /* See if the node list contains a remotely accessible localhost */
-    for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+    for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
         int is_local, remote_access;
 
         status = HYDU_sock_is_local(proxy->node.hostname, &is_local);
@@ -345,26 +353,26 @@
     }
 
     if (proxy)
-        HYD_handle.local_hostname = HYDU_strdup(proxy->node.hostname);
+        HYD_server_info.local_hostname = HYDU_strdup(proxy->node.hostname);
 
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         HYD_uiu_print_params();
 
     if (MPL_env2int("MPIEXEC_TIMEOUT", &timeout) == 0)
         timeout = -1;   /* Infinite timeout */
 
-    if (HYD_handle.user_global.debug)
+    if (HYD_server_info.user_global.debug)
         HYDU_dump(stdout, "Timeout set to %d (-1 means infinite)\n", timeout);
 
     /* Check if the user wants us to use a port within a certain
      * range. */
-    if (MPL_env2str("MPIEXEC_PORTRANGE", (const char **) &HYD_handle.port_range) ||
-        MPL_env2str("MPIEXEC_PORT_RANGE", (const char **) &HYD_handle.port_range) ||
-        MPL_env2str("MPICH_PORT_RANGE", (const char **) &HYD_handle.port_range))
-        HYD_handle.port_range = HYDU_strdup(HYD_handle.port_range);
+    if (MPL_env2str("MPIEXEC_PORTRANGE", (const char **) &HYD_server_info.port_range) ||
+        MPL_env2str("MPIEXEC_PORT_RANGE", (const char **) &HYD_server_info.port_range) ||
+        MPL_env2str("MPICH_PORT_RANGE", (const char **) &HYD_server_info.port_range))
+        HYD_server_info.port_range = HYDU_strdup(HYD_server_info.port_range);
 
-    if (HYD_handle.print_rank_map) {
-        for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+    if (HYD_ui_mpich_info.print_rank_map) {
+        for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
             HYDU_dump_noprefix(stdout, "(%s:", proxy->node.hostname);
 
             process_id = 0;
@@ -374,7 +382,7 @@
                                        HYDU_local_to_global_id(process_id++,
                                                                proxy->start_pid,
                                                                proxy->node.core_count,
-                                                               HYD_handle.global_core_count));
+                                                               HYD_server_info.global_core_count));
                     if (i < exec->proc_count - 1 || exec->next)
                         HYDU_dump_noprefix(stdout, ",");
                 }
@@ -384,8 +392,8 @@
     }
 
     /* Add the stdout/stdin/stderr callback handlers */
-    HYD_handle.stdout_cb = HYD_uiu_stdout_cb;
-    HYD_handle.stderr_cb = HYD_uiu_stderr_cb;
+    HYD_server_info.stdout_cb = HYD_uiu_stdout_cb;
+    HYD_server_info.stderr_cb = HYD_uiu_stderr_cb;
 
     /* Launch the processes */
     status = HYD_pmci_launch_procs();
@@ -396,10 +404,10 @@
     HYDU_ERR_POP(status, "process manager error waiting for completion\n");
 
     /* Check for the exit status for all the processes */
-    if (HYD_handle.print_all_exitcodes)
+    if (HYD_ui_mpich_info.print_all_exitcodes)
         HYDU_dump(stdout, "Exit codes: ");
     exit_status = 0;
-    for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+    for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
         if (proxy->exit_status == NULL) {
             /* We didn't receive the exit status for this proxy */
             exit_status |= 1;
@@ -410,11 +418,11 @@
         for (exec = proxy->exec_list; exec; exec = exec->next)
             proc_count += exec->proc_count;
         for (i = 0; i < proc_count; i++) {
-            if (HYD_handle.print_all_exitcodes) {
+            if (HYD_ui_mpich_info.print_all_exitcodes) {
                 HYDU_dump_noprefix(stdout, "[%d]",
                                    HYDU_local_to_global_id(i, proxy->start_pid,
                                                            proxy->node.core_count,
-                                                           HYD_handle.global_core_count));
+                                                           HYD_server_info.global_core_count));
                 HYDU_dump_noprefix(stdout, "%d", WEXITSTATUS(proxy->exit_status[i]));
                 if (i < proc_count - 1)
                     HYDU_dump_noprefix(stdout, ",");
@@ -422,7 +430,7 @@
             exit_status |= proxy->exit_status[i];
         }
     }
-    if (HYD_handle.print_all_exitcodes)
+    if (HYD_ui_mpich_info.print_all_exitcodes)
         HYDU_dump_noprefix(stdout, "\n");
 
     /* Call finalize functions for lower layers to cleanup their resources */
@@ -433,11 +441,11 @@
     HYDU_ERR_POP(status, "error finalizing FTB\n");
 
 #if defined ENABLE_PROFILING
-    if (HYD_handle.enable_profiling) {
+    if (HYD_server_info.enable_profiling) {
         HYDU_dump_noprefix(stdout, "\n");
         HYD_DRAW_LINE(80);
         HYDU_dump(stdout, "Number of PMI calls seen by the server: %d\n",
-                  HYD_handle.num_pmi_calls);
+                  HYD_server_info.num_pmi_calls);
         HYD_DRAW_LINE(80);
         HYDU_dump_noprefix(stdout, "\n");
     }

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,24 @@
 #ifndef MPIEXEC_H_INCLUDED
 #define MPIEXEC_H_INCLUDED
 
-#include "hydra.h"
+#include "hydra_server.h"
 
+struct HYD_ui_mpich_info {
+    int ppn;
+    int ckpoint_int;
+    int print_rank_map;
+    int print_all_exitcodes;
+    int ranks_per_proc;
+
+    enum HYD_sort_order {
+        NONE = 0,
+        ASCENDING = 1,
+        DESCENDING = 2
+    } sort_order;
+};
+
+extern struct HYD_ui_mpich_info HYD_ui_mpich_info;
+
 HYD_status HYD_uii_mpx_get_parameters(char **t_argv);
 
 extern struct HYD_exec *HYD_uii_mpx_exec_list;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,13 +4,24 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
 #include "mpiexec.h"
+#include "ui.h"
 #include "uiu.h"
 
 static int hostname_propagation = -1;
 
+static void init_ui_mpich_info(void)
+{
+    HYD_ui_mpich_info.ppn = -1;
+    HYD_ui_mpich_info.ckpoint_int = -1;
+    HYD_ui_mpich_info.print_rank_map = -1;
+    HYD_ui_mpich_info.print_all_exitcodes = -1;
+    HYD_ui_mpich_info.ranks_per_proc = -1;
+    HYD_ui_mpich_info.sort_order = NONE;
+}
+
 static HYD_status get_current_exec(struct HYD_exec **exec)
 {
     HYD_status status = HYD_SUCCESS;
@@ -79,7 +90,7 @@
         env_value = HYDU_strdup(str[1]);
     }
 
-    HYDU_append_env_to_list(env_name, env_value, &HYD_handle.user_global.global_env.user);
+    HYDU_append_env_to_list(env_name, env_value, &HYD_server_info.user_global.global_env.user);
 
     if (str[0])
         HYDU_FREE(str[0]);
@@ -112,12 +123,12 @@
     int len;
     HYD_status status = HYD_SUCCESS;
 
-    HYDU_ERR_CHKANDJUMP(status, HYD_handle.user_global.global_env.prop,
+    HYDU_ERR_CHKANDJUMP(status, HYD_server_info.user_global.global_env.prop,
                         HYD_INTERNAL_ERROR, "duplicate environment setting\n");
 
     len = strlen("list:") + strlen(**argv) + 1;
-    HYDU_MALLOC(HYD_handle.user_global.global_env.prop, char *, len, status);
-    HYDU_snprintf(HYD_handle.user_global.global_env.prop, len, "list:%s", **argv);
+    HYDU_MALLOC(HYD_server_info.user_global.global_env.prop, char *, len, status);
+    HYDU_snprintf(HYD_server_info.user_global.global_env.prop, len, "list:%s", **argv);
     (*argv)++;
 
   fn_exit:
@@ -136,7 +147,7 @@
 
 static HYD_status genvnone_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str(arg, argv, &HYD_handle.user_global.global_env.prop, "none");
+    return HYDU_set_str(arg, argv, &HYD_server_info.user_global.global_env.prop, "none");
 }
 
 static void genvall_help_fn(void)
@@ -148,7 +159,7 @@
 
 static HYD_status genvall_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str(arg, argv, &HYD_handle.user_global.global_env.prop, "all");
+    return HYDU_set_str(arg, argv, &HYD_server_info.user_global.global_env.prop, "all");
 }
 
 static void mfile_help_fn(void)
@@ -161,15 +172,16 @@
 {
     HYD_status status = HYD_SUCCESS;
 
-    HYDU_ERR_CHKANDJUMP(status, HYD_handle.node_list, HYD_INTERNAL_ERROR,
+    HYDU_ERR_CHKANDJUMP(status, HYD_server_info.node_list, HYD_INTERNAL_ERROR,
                         "duplicate host file setting\n");
 
     if (strcmp(**argv, "HYDRA_USE_LOCALHOST")) {
-        status = HYDU_parse_hostfile(**argv, &HYD_handle.node_list, HYDU_process_mfile_token);
+        status =
+            HYDU_parse_hostfile(**argv, &HYD_server_info.node_list, HYDU_process_mfile_token);
         HYDU_ERR_POP(status, "error parsing hostfile\n");
     }
     else {
-        status = HYDU_add_to_node_list("localhost", 1, &HYD_handle.node_list);
+        status = HYDU_add_to_node_list("localhost", 1, &HYD_server_info.node_list);
         HYDU_ERR_POP(status, "unable to add to node list\n");
     }
 
@@ -194,7 +206,7 @@
     int count = 0;
     HYD_status status = HYD_SUCCESS;
 
-    HYDU_ERR_CHKANDJUMP(status, HYD_handle.node_list, HYD_INTERNAL_ERROR,
+    HYDU_ERR_CHKANDJUMP(status, HYD_server_info.node_list, HYD_INTERNAL_ERROR,
                         "duplicate host file or host list setting\n");
 
     hostlist[count] = strtok(**argv, ",");
@@ -212,7 +224,7 @@
         procs = strtok(NULL, ":");
         np = procs ? atoi(procs) : 1;
 
-        status = HYDU_add_to_node_list(h, np, &HYD_handle.node_list);
+        status = HYDU_add_to_node_list(h, np, &HYD_server_info.node_list);
         HYDU_ERR_POP(status, "unable to add to node list\n");
     }
 
@@ -233,7 +245,7 @@
 
 static HYD_status ppn_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int_and_incr(arg, argv, &HYD_handle.ppn);
+    return HYDU_set_int_and_incr(arg, argv, &HYD_ui_mpich_info.ppn);
 }
 
 static void profile_help_fn(void)
@@ -250,7 +262,7 @@
     HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "profiling support not compiled in\n");
 #endif /* ENABLE_PROFILING */
 
-    status = HYDU_set_int(arg, argv, &HYD_handle.enable_profiling, 1);
+    status = HYDU_set_int(arg, argv, &HYD_server_info.enable_profiling, 1);
     HYDU_ERR_POP(status, "error enabling profiling\n");
 
   fn_exit:
@@ -268,9 +280,55 @@
 
 static HYD_status prepend_rank_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int(arg, argv, &HYD_handle.user_global.prepend_rank, 1);
+    return HYDU_set_str(arg, argv, &HYD_ui_info.prepend_regex, "[%r] ");
 }
 
+static void regex_info(void)
+{
+    printf("   Regular expressions can include:\n");
+    printf("       %%r: Process rank\n");
+    printf("       %%g: Process group ID\n");
+    printf("       %%p: Proxy ID\n");
+    printf("       %%h: Hostname\n");
+}
+
+static void prepend_regex_help_fn(void)
+{
+    printf("\n");
+    printf("-prepend-regex: Prepend this regular expression to stdout and stderr\n");
+    regex_info();
+    printf("\n");
+}
+
+static HYD_status prepend_regex_fn(char *arg, char ***argv)
+{
+    return HYDU_set_str_and_incr(arg, argv, &HYD_ui_info.prepend_regex);
+}
+
+static void outfile_regex_help_fn(void)
+{
+    printf("\n");
+    printf("-outfile-regex: Send stdout to this file\n\n");
+    regex_info();
+}
+
+static HYD_status outfile_regex_fn(char *arg, char ***argv)
+{
+    return HYDU_set_str_and_incr(arg, argv, &HYD_ui_info.outfile_regex);
+}
+
+static void errfile_regex_help_fn(void)
+{
+    printf("\n");
+    printf("-errfile-regex: Send stderr to this file\n\n");
+    regex_info();
+}
+
+static HYD_status errfile_regex_fn(char *arg, char ***argv)
+{
+    return HYDU_set_str_and_incr(arg, argv, &HYD_ui_info.errfile_regex);
+}
+
 static void wdir_help_fn(void)
 {
     printf("\n");
@@ -549,7 +607,7 @@
     status = HYDU_set_int_and_incr(arg, argv, &exec->proc_count);
     HYDU_ERR_POP(status, "error getting executable process count\n");
 
-    HYD_handle.pg_list.pg_process_count += exec->proc_count;
+    HYD_server_info.pg_list.pg_process_count += exec->proc_count;
 
   fn_exit:
     return status;
@@ -568,7 +626,7 @@
 
 static HYD_status launcher_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.launcher);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.launcher);
 }
 
 static void launcher_exec_help_fn(void)
@@ -581,7 +639,7 @@
 
 static HYD_status launcher_exec_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.launcher_exec);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.launcher_exec);
 }
 
 static void enablex_help_fn(void)
@@ -593,7 +651,8 @@
 
 static HYD_status enablex_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int(arg, argv, &HYD_handle.user_global.enablex, !strcmp(arg, "enable-x"));
+    return HYDU_set_int(arg, argv, &HYD_server_info.user_global.enablex,
+                        !strcmp(arg, "enable-x"));
 }
 
 static void rmk_help_fn(void)
@@ -606,7 +665,7 @@
 
 static HYD_status rmk_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.rmk);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.rmk);
 }
 
 static void ranks_per_proc_help_fn(void)
@@ -617,7 +676,7 @@
 
 static HYD_status ranks_per_proc_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int_and_incr(arg, argv, &HYD_handle.ranks_per_proc);
+    return HYDU_set_int_and_incr(arg, argv, &HYD_ui_mpich_info.ranks_per_proc);
 }
 
 static void binding_help_fn(void)
@@ -647,7 +706,7 @@
 
 static HYD_status binding_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.binding);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.binding);
 }
 
 static void bindlib_help_fn(void)
@@ -660,7 +719,7 @@
 
 static HYD_status bindlib_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.bindlib);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.bindlib);
 }
 
 static void ckpoint_interval_help_fn(void)
@@ -671,7 +730,7 @@
 
 static HYD_status ckpoint_interval_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int_and_incr(arg, argv, &HYD_handle.ckpoint_int);
+    return HYDU_set_int_and_incr(arg, argv, &HYD_ui_mpich_info.ckpoint_int);
 }
 
 static void ckpoint_prefix_help_fn(void)
@@ -682,7 +741,7 @@
 
 static HYD_status ckpoint_prefix_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.ckpoint_prefix);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.ckpoint_prefix);
 }
 
 static void ckpoint_num_help_fn(void)
@@ -693,7 +752,7 @@
 
 static HYD_status ckpoint_num_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int_and_incr(arg, argv, &HYD_handle.user_global.ckpoint_num);
+    return HYDU_set_int_and_incr(arg, argv, &HYD_server_info.user_global.ckpoint_num);
 }
 
 static void ckpointlib_help_fn(void)
@@ -706,7 +765,7 @@
 
 static HYD_status ckpointlib_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.ckpointlib);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.ckpointlib);
 }
 
 static void demux_help_fn(void)
@@ -719,7 +778,7 @@
 
 static HYD_status demux_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.demux);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.demux);
 }
 
 static void verbose_help_fn(void)
@@ -730,7 +789,7 @@
 
 static HYD_status verbose_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int(arg, argv, &HYD_handle.user_global.debug, 1);
+    return HYDU_set_int(arg, argv, &HYD_server_info.user_global.debug, 1);
 }
 
 static void info_help_fn(void)
@@ -790,7 +849,7 @@
 
 static HYD_status print_rank_map_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int(arg, argv, &HYD_handle.print_rank_map, 1);
+    return HYDU_set_int(arg, argv, &HYD_ui_mpich_info.print_rank_map, 1);
 }
 
 static void print_all_exitcodes_help_fn(void)
@@ -801,7 +860,7 @@
 
 static HYD_status print_all_exitcodes_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int(arg, argv, &HYD_handle.print_all_exitcodes, 1);
+    return HYDU_set_int(arg, argv, &HYD_ui_mpich_info.print_all_exitcodes, 1);
 }
 
 static void iface_help_fn(void)
@@ -812,7 +871,7 @@
 
 static HYD_status iface_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.iface);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.iface);
 }
 
 static void nameserver_help_fn(void)
@@ -823,7 +882,7 @@
 
 static HYD_status nameserver_fn(char *arg, char ***argv)
 {
-    return HYDU_set_str_and_incr(arg, argv, &HYD_handle.nameserver);
+    return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.nameserver);
 }
 
 static void auto_cleanup_help_fn(void)
@@ -835,7 +894,7 @@
 
 static HYD_status auto_cleanup_fn(char *arg, char ***argv)
 {
-    return HYDU_set_int(arg, argv, &HYD_handle.user_global.auto_cleanup,
+    return HYDU_set_int(arg, argv, &HYD_server_info.user_global.auto_cleanup,
                         !strcmp(arg, "enable-auto-cleanup"));
 }
 
@@ -865,10 +924,10 @@
 
     if (!strcmp(**argv, "ASCENDING") || !strcmp(**argv, "ascending") ||
         !strcmp(**argv, "UP") || !strcmp(**argv, "up"))
-        HYD_handle.sort_order = ASCENDING;
+        HYD_ui_mpich_info.sort_order = ASCENDING;
     else if (!strcmp(**argv, "DESCENDING") || !strcmp(**argv, "descending") ||
-        !strcmp(**argv, "DOWN") || !strcmp(**argv, "down"))
-        HYD_handle.sort_order = DESCENDING;
+             !strcmp(**argv, "DOWN") || !strcmp(**argv, "down"))
+        HYD_ui_mpich_info.sort_order = DESCENDING;
     else
         HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "unrecognized sort order\n");
 
@@ -902,6 +961,9 @@
     {"profile", profile_fn, profile_help_fn},
     {"prepend-rank", prepend_rank_fn, prepend_rank_help_fn},
     {"l", prepend_rank_fn, prepend_rank_help_fn},
+    {"prepend-regex", prepend_regex_fn, prepend_regex_help_fn},
+    {"outfile-regex", outfile_regex_fn, outfile_regex_help_fn},
+    {"errfile-regex", errfile_regex_fn, errfile_regex_help_fn},
     {"wdir", wdir_fn, wdir_help_fn},
     {"configfile", config_fn, config_help_fn},
 
@@ -971,55 +1033,54 @@
 
     /* If exec_list is not NULL, make sure local executable is set */
     for (exec = HYD_uii_mpx_exec_list; exec; exec = exec->next) {
-        if (exec->exec[0] == NULL && HYD_handle.user_global.ckpoint_prefix == NULL)
+        if (exec->exec[0] == NULL && HYD_server_info.user_global.ckpoint_prefix == NULL)
             HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "no executable specified\n");
 
         status = HYDU_correct_wdir(&exec->wdir);
         HYDU_ERR_POP(status, "unable to correct wdir\n");
     }
 
-    if (HYD_handle.print_rank_map == -1)
-        HYD_handle.print_rank_map = 0;
+    if (HYD_ui_mpich_info.print_rank_map == -1)
+        HYD_ui_mpich_info.print_rank_map = 0;
 
-    if (HYD_handle.print_all_exitcodes == -1)
-        HYD_handle.print_all_exitcodes = 0;
+    if (HYD_ui_mpich_info.print_all_exitcodes == -1)
+        HYD_ui_mpich_info.print_all_exitcodes = 0;
 
-    if (HYD_handle.ranks_per_proc == -1)
-        HYD_handle.ranks_per_proc = 1;
+    if (HYD_ui_mpich_info.ranks_per_proc == -1)
+        HYD_ui_mpich_info.ranks_per_proc = 1;
 
-    if (HYD_handle.enable_profiling == -1)
-        HYD_handle.enable_profiling = 0;
+    if (HYD_server_info.enable_profiling == -1)
+        HYD_server_info.enable_profiling = 0;
 
-    if (HYD_handle.user_global.prepend_rank == -1)
-        HYD_handle.user_global.prepend_rank = 0;
+    if (HYD_server_info.user_global.debug == -1 &&
+        MPL_env2bool("HYDRA_DEBUG", &HYD_server_info.user_global.debug) == 0)
+        HYD_server_info.user_global.debug = 0;
 
-    if (HYD_handle.user_global.debug == -1 &&
-        MPL_env2bool("HYDRA_DEBUG", &HYD_handle.user_global.debug) == 0)
-        HYD_handle.user_global.debug = 0;
+    HYD_GET_ENV_STR_VAL(HYD_server_info.user_global.iface, "HYDRA_IFACE", NULL);
 
-    HYD_GET_ENV_STR_VAL(HYD_handle.user_global.iface, "HYDRA_IFACE", NULL);
-
-    if (HYD_handle.node_list == NULL && MPL_env2str("HYDRA_HOST_FILE", (const char **) &tmp)) {
-        status = HYDU_parse_hostfile(tmp, &HYD_handle.node_list, HYDU_process_mfile_token);
+    if (HYD_server_info.node_list == NULL &&
+        MPL_env2str("HYDRA_HOST_FILE", (const char **) &tmp)) {
+        status =
+            HYDU_parse_hostfile(tmp, &HYD_server_info.node_list, HYDU_process_mfile_token);
         HYDU_ERR_POP(status, "error parsing hostfile\n");
     }
 
     /* Check environment for setting the inherited environment */
-    if (HYD_handle.user_global.global_env.prop == NULL &&
+    if (HYD_server_info.user_global.global_env.prop == NULL &&
         MPL_env2str("HYDRA_ENV", (const char **) &tmp))
-        HYD_handle.user_global.global_env.prop =
+        HYD_server_info.user_global.global_env.prop =
             !strcmp(tmp, "all") ? HYDU_strdup("all") : HYDU_strdup("none");
 
-    if (HYD_handle.user_global.auto_cleanup == -1)
-        HYD_handle.user_global.auto_cleanup = 1;
+    if (HYD_server_info.user_global.auto_cleanup == -1)
+        HYD_server_info.user_global.auto_cleanup = 1;
 
     /* Make sure this is either a restart or there is an executable to
      * launch */
-    if (HYD_uii_mpx_exec_list == NULL && HYD_handle.user_global.ckpoint_prefix == NULL)
+    if (HYD_uii_mpx_exec_list == NULL && HYD_server_info.user_global.ckpoint_prefix == NULL)
         HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "no executable provided\n");
 
     if (hostname_propagation || hostname_propagation == -1)
-        HYD_handle.interface_env_name = HYDU_strdup("MPICH_INTERFACE_HOSTNAME");
+        HYD_server_info.interface_env_name = HYDU_strdup("MPICH_INTERFACE_HOSTNAME");
 
   fn_exit:
     return status;
@@ -1040,6 +1101,7 @@
     HYDU_FUNC_ENTER();
 
     HYD_uiu_init_params();
+    init_ui_mpich_info();
 
     argv++;
     do {
@@ -1077,8 +1139,8 @@
     post = HYDU_strdup(progname);
     loc = strrchr(post, '/');
     if (!loc) { /* If there is no path */
-        HYD_handle.base_path = NULL;
-        status = HYDU_find_in_path(progname, &HYD_handle.base_path);
+        HYD_server_info.base_path = NULL;
+        status = HYDU_find_in_path(progname, &HYD_server_info.base_path);
         HYDU_ERR_POP(status, "error while searching for executable in the user path\n");
     }
     else {      /* There is a path */
@@ -1090,12 +1152,12 @@
             tmp[1] = HYDU_strdup("/");
             tmp[2] = HYDU_strdup(post);
             tmp[3] = NULL;
-            status = HYDU_str_alloc_and_join(tmp, &HYD_handle.base_path);
+            status = HYDU_str_alloc_and_join(tmp, &HYD_server_info.base_path);
             HYDU_ERR_POP(status, "unable to join strings\n");
             HYDU_free_strlist(tmp);
         }
         else {  /* absolute */
-            HYD_handle.base_path = HYDU_strdup(post);
+            HYD_server_info.base_path = HYDU_strdup(post);
         }
     }
     HYDU_FREE(post);
@@ -1105,14 +1167,14 @@
 
     /* If the user set the checkpoint prefix, set env var to enable
      * checkpointing on the processes  */
-    if (HYD_handle.user_global.ckpoint_prefix)
+    if (HYD_server_info.user_global.ckpoint_prefix)
         HYDU_append_env_to_list("MPICH_ENABLE_CKPOINT", "1",
-                                &HYD_handle.user_global.global_env.system);
+                                &HYD_server_info.user_global.global_env.system);
 
     /* Preset common environment options for disabling STDIO buffering
      * in Fortran */
     HYDU_append_env_to_list("GFORTRAN_UNBUFFERED_PRECONNECTED", "y",
-                            &HYD_handle.user_global.global_env.system);
+                            &HYD_server_info.user_global.global_env.system);
 
   fn_exit:
     HYDU_FUNC_EXIT();

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,78 +4,98 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#include "hydra_server.h"
 #include "hydra.h"
-#include "hydra_utils.h"
+#include "ui.h"
 #include "uiu.h"
 
+static struct stdoe_fd {
+    int fd;
+    char *regex;
+    struct stdoe_fd *next;
+} *stdoe_fd_list = NULL;
+
 void HYD_uiu_init_params(void)
 {
-    HYDU_init_user_global(&HYD_handle.user_global);
+    HYDU_init_user_global(&HYD_server_info.user_global);
 
-    HYD_handle.ppn = -1;
+    HYD_server_info.base_path = NULL;
 
-    HYD_handle.base_path = NULL;
+    HYD_server_info.port_range = NULL;
+    HYD_server_info.interface_env_name = NULL;
 
-    HYD_handle.port_range = NULL;
-    HYD_handle.interface_env_name = NULL;
+    HYD_server_info.nameserver = NULL;
+    HYD_server_info.local_hostname = NULL;
 
-    HYD_handle.nameserver = NULL;
-    HYD_handle.local_hostname = NULL;
+    HYD_server_info.stdout_cb = NULL;
+    HYD_server_info.stderr_cb = NULL;
 
-    HYD_handle.ckpoint_int = -1;
+    HYD_server_info.node_list = NULL;
+    HYD_server_info.global_core_count = 0;
 
-    HYD_handle.print_rank_map = -1;
-    HYD_handle.print_all_exitcodes = -1;
+    HYDU_init_pg(&HYD_server_info.pg_list, 0);
 
-    HYD_handle.ranks_per_proc = -1;
+    HYD_server_info.pg_list.pgid = 0;
+    HYD_server_info.pg_list.next = NULL;
 
-    HYD_handle.stdout_cb = NULL;
-    HYD_handle.stderr_cb = NULL;
+#if defined ENABLE_PROFILING
+    HYD_server_info.enable_profiling = -1;
+    HYD_server_info.num_pmi_calls = 0;
+#endif /* ENABLE_PROFILING */
 
-    HYD_handle.node_list = NULL;
-    HYD_handle.global_core_count = 0;
+    HYD_ui_info.prepend_regex = NULL;
+    HYD_ui_info.outfile_regex = NULL;
+    HYD_ui_info.errfile_regex = NULL;
 
-    HYDU_init_pg(&HYD_handle.pg_list, 0);
-
-    HYD_handle.pg_list.pgid = 0;
-    HYD_handle.pg_list.next = NULL;
-
-    HYD_handle.func_depth = 0;
-
-#if defined ENABLE_PROFILING
-    HYD_handle.enable_profiling = -1;
-    HYD_handle.num_pmi_calls = 0;
-#endif /* ENABLE_PROFILING */
+    stdoe_fd_list = NULL;
 }
 
 void HYD_uiu_free_params(void)
 {
-    HYDU_finalize_user_global(&HYD_handle.user_global);
+    struct stdoe_fd *tmp, *run;
 
-    if (HYD_handle.base_path)
-        HYDU_FREE(HYD_handle.base_path);
+    HYDU_finalize_user_global(&HYD_server_info.user_global);
 
-    if (HYD_handle.port_range)
-        HYDU_FREE(HYD_handle.port_range);
+    if (HYD_server_info.base_path)
+        HYDU_FREE(HYD_server_info.base_path);
 
-    if (HYD_handle.interface_env_name)
-        HYDU_FREE(HYD_handle.interface_env_name);
+    if (HYD_server_info.port_range)
+        HYDU_FREE(HYD_server_info.port_range);
 
-    if (HYD_handle.nameserver)
-        HYDU_FREE(HYD_handle.nameserver);
+    if (HYD_server_info.interface_env_name)
+        HYDU_FREE(HYD_server_info.interface_env_name);
 
-    if (HYD_handle.local_hostname)
-        HYDU_FREE(HYD_handle.local_hostname);
+    if (HYD_server_info.nameserver)
+        HYDU_FREE(HYD_server_info.nameserver);
 
-    if (HYD_handle.node_list)
-        HYDU_free_node_list(HYD_handle.node_list);
+    if (HYD_server_info.local_hostname)
+        HYDU_FREE(HYD_server_info.local_hostname);
 
-    if (HYD_handle.pg_list.proxy_list)
-        HYDU_free_proxy_list(HYD_handle.pg_list.proxy_list);
+    if (HYD_server_info.node_list)
+        HYDU_free_node_list(HYD_server_info.node_list);
 
-    if (HYD_handle.pg_list.next)
-        HYDU_free_pg_list(HYD_handle.pg_list.next);
+    if (HYD_server_info.pg_list.proxy_list)
+        HYDU_free_proxy_list(HYD_server_info.pg_list.proxy_list);
 
+    if (HYD_server_info.pg_list.next)
+        HYDU_free_pg_list(HYD_server_info.pg_list.next);
+
+    if (HYD_ui_info.prepend_regex)
+        HYDU_FREE(HYD_ui_info.prepend_regex);
+
+    if (HYD_ui_info.outfile_regex)
+        HYDU_FREE(HYD_ui_info.outfile_regex);
+
+    if (HYD_ui_info.errfile_regex)
+        HYDU_FREE(HYD_ui_info.errfile_regex);
+
+    for (run = stdoe_fd_list; run;) {
+        close(run->fd);
+        tmp = run->next;
+        HYDU_FREE(run);
+        run = tmp;
+    }
+
     /* Re-initialize everything to default values */
     HYD_uiu_init_params();
 }
@@ -95,30 +115,30 @@
     HYDU_dump_noprefix(stdout, "\n");
     HYDU_dump_noprefix(stdout, "mpiexec options:\n");
     HYDU_dump_noprefix(stdout, "----------------\n");
-    HYDU_dump_noprefix(stdout, "  Base path: %s\n", HYD_handle.base_path);
-    HYDU_dump_noprefix(stdout, "  Launcher: %s\n", HYD_handle.user_global.launcher);
-    HYDU_dump_noprefix(stdout, "  Debug level: %d\n", HYD_handle.user_global.debug);
-    HYDU_dump_noprefix(stdout, "  Enable X: %d\n", HYD_handle.user_global.enablex);
+    HYDU_dump_noprefix(stdout, "  Base path: %s\n", HYD_server_info.base_path);
+    HYDU_dump_noprefix(stdout, "  Launcher: %s\n", HYD_server_info.user_global.launcher);
+    HYDU_dump_noprefix(stdout, "  Debug level: %d\n", HYD_server_info.user_global.debug);
+    HYDU_dump_noprefix(stdout, "  Enable X: %d\n", HYD_server_info.user_global.enablex);
 
     HYDU_dump_noprefix(stdout, "\n");
     HYDU_dump_noprefix(stdout, "  Global environment:\n");
     HYDU_dump_noprefix(stdout, "  -------------------\n");
-    for (env = HYD_handle.user_global.global_env.inherited; env; env = env->next)
+    for (env = HYD_server_info.user_global.global_env.inherited; env; env = env->next)
         HYDU_dump_noprefix(stdout, "    %s=%s\n", env->env_name, env->env_value);
 
-    if (HYD_handle.user_global.global_env.system) {
+    if (HYD_server_info.user_global.global_env.system) {
         HYDU_dump_noprefix(stdout, "\n");
         HYDU_dump_noprefix(stdout, "  Hydra internal environment:\n");
         HYDU_dump_noprefix(stdout, "  ---------------------------\n");
-        for (env = HYD_handle.user_global.global_env.system; env; env = env->next)
+        for (env = HYD_server_info.user_global.global_env.system; env; env = env->next)
             HYDU_dump_noprefix(stdout, "    %s=%s\n", env->env_name, env->env_value);
     }
 
-    if (HYD_handle.user_global.global_env.user) {
+    if (HYD_server_info.user_global.global_env.user) {
         HYDU_dump_noprefix(stdout, "\n");
         HYDU_dump_noprefix(stdout, "  User set environment:\n");
         HYDU_dump_noprefix(stdout, "  ---------------------\n");
-        for (env = HYD_handle.user_global.global_env.user; env; env = env->next)
+        for (env = HYD_server_info.user_global.global_env.user; env; env = env->next)
             HYDU_dump_noprefix(stdout, "    %s=%s\n", env->env_name, env->env_value);
     }
 
@@ -127,7 +147,7 @@
     HYDU_dump_noprefix(stdout, "    Proxy information:\n");
     HYDU_dump_noprefix(stdout, "    *********************\n");
     i = 1;
-    for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+    for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
         HYDU_dump_noprefix(stdout, "      Proxy ID: %2d\n", i++);
         HYDU_dump_noprefix(stdout, "      -----------------\n");
         HYDU_dump_noprefix(stdout, "        Proxy name: %s\n", proxy->node.hostname);
@@ -151,33 +171,84 @@
     return;
 }
 
-HYD_status HYD_uiu_stdout_cb(int pgid, int proxy_id, int rank, void *_buf, int buflen)
+static HYD_status resolve_regex_string(const char *regex, char **str, int pgid, int proxy_id,
+                                       int rank)
 {
-    int sent, closed, mark, i;
-    char *buf = (char *) _buf;
+    int offset, i;
+    char *tstr, *s_rank, *s_pgid, *s_proxy_id, *s_host, *s;
+    struct HYD_pg *pg;
+    struct HYD_proxy *proxy;
+    char *tmp[HYD_NUM_TMP_STRINGS];
     HYD_status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
 
-    if (HYD_handle.user_global.prepend_rank == 0) {
-        status = HYDU_sock_write(STDOUT_FILENO, buf, buflen, &sent, &closed);
-        HYDU_ERR_POP(status, "unable to write data to stdout\n");
-        HYDU_ASSERT(!closed, status);
-    }
-    else {
-        mark = 0;
-        for (i = 0; i < buflen; i++) {
-            if (buf[i] == '\n' || i == buflen - 1) {
-                HYDU_dump_noprefix(stdout, "[%d] ", rank);
-                status = HYDU_sock_write(STDOUT_FILENO, (const void *) &buf[mark],
-                                         i - mark + 1, &sent, &closed);
-                HYDU_ERR_POP(status, "unable to write data to stdout\n");
-                HYDU_ASSERT(!closed, status);
-                mark = i + 1;
+    tstr = *str = HYDU_strdup(regex);
+
+    offset = 0;
+    i = 0;
+    do {
+        s_rank = strstr(*str, "%r");
+        s_pgid = strstr(*str, "%g");
+        s_proxy_id = strstr(*str, "%p");
+        s_host = strstr(*str, "%h");
+
+        s = s_rank;
+        if (s == NULL || (s_pgid && s_pgid < s))
+            s = s_pgid;
+        if (s == NULL || (s_proxy_id && s_proxy_id < s))
+            s = s_proxy_id;
+        if (s == NULL || (s_host && s_host < s))
+            s = s_host;
+
+        if (s)
+            *s = 0;
+
+        tmp[i++] = HYDU_strdup(*str);
+
+        if (s) {
+            if (s[1] == 'r') {
+                HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+                MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%d", rank);
             }
+            else if (s[1] == 'g') {
+                HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+                MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%d", pgid);
+            }
+            else if (s[1] == 'p') {
+                HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+                MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%d", proxy_id);
+            }
+            else if (s[1] == 'h') {
+                for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
+                    if (pg->pgid == pgid)
+                        break;
+                HYDU_ASSERT(pg, status);
+
+                for (proxy = pg->proxy_list; proxy; proxy = proxy->next)
+                    if (proxy->proxy_id == proxy_id)
+                        break;
+                HYDU_ASSERT(proxy, status);
+
+                HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+                MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%s", proxy->node.hostname);
+            }
+            else {
+                HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "unrecognized regex\n");
+            }
+            i++;
+
+            *str = s + 2;
         }
-    }
+        else
+            *str = NULL;
+    } while (*str);
 
+    tmp[i++] = NULL;
+    status = HYDU_str_alloc_and_join(tmp, str);
+    HYDU_ERR_POP(status, "unable to join strings\n");
+    HYDU_free_strlist(tmp);
+
   fn_exit:
     HYDU_FUNC_EXIT();
     return status;
@@ -186,31 +257,74 @@
     goto fn_exit;
 }
 
-HYD_status HYD_uiu_stderr_cb(int pgid, int proxy_id, int rank, void *_buf, int buflen)
+static HYD_status stdoe_cb(int _fd, int pgid, int proxy_id, int rank, void *_buf, int buflen)
 {
+    int fd = _fd;
+    char *regex_resolve, *regex = NULL;
+    struct stdoe_fd *tmp, *run;
     int sent, closed, mark, i;
-    char *buf = (char *) _buf;
+    char *buf = (char *) _buf, *prepend;
     HYD_status status = HYD_SUCCESS;
 
     HYDU_FUNC_ENTER();
 
-    if (HYD_handle.user_global.prepend_rank == 0) {
-        status = HYDU_sock_write(STDERR_FILENO, buf, buflen, &sent, &closed);
-        HYDU_ERR_POP(status, "unable to write data to stderr\n");
+    regex = (_fd == STDOUT_FILENO) ? HYD_ui_info.outfile_regex :
+        (_fd == STDERR_FILENO) ? HYD_ui_info.errfile_regex : NULL;
+
+    if (regex) {
+        /* See if the regex already exists */
+        status = resolve_regex_string(regex, &regex_resolve, pgid, proxy_id, rank);
+
+        for (run = stdoe_fd_list; run; run = run->next)
+            if (!strcmp(run->regex, regex_resolve))
+                break;
+
+        if (run) {
+            fd = run->fd;
+            HYDU_FREE(regex_resolve);
+        }
+        else {
+            HYDU_MALLOC(tmp, struct stdoe_fd *, sizeof(struct stdoe_fd), status);
+            tmp->regex = regex_resolve;
+            tmp->fd = open(tmp->regex, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+            HYDU_ASSERT(tmp->fd >= 0, status);
+            tmp->next = NULL;
+
+            if (stdoe_fd_list == NULL)
+                stdoe_fd_list = tmp;
+            else {
+                for (run = stdoe_fd_list; run->next; run = run->next);
+                run->next = tmp;
+            }
+
+            fd = tmp->fd;
+        }
+    }
+
+    if (HYD_ui_info.prepend_regex == NULL) {
+        status = HYDU_sock_write(fd, buf, buflen, &sent, &closed);
+        HYDU_ERR_POP(status, "unable to write data to stdout/stderr\n");
         HYDU_ASSERT(!closed, status);
     }
     else {
+        status = resolve_regex_string(HYD_ui_info.prepend_regex, &prepend, pgid, proxy_id,
+                                      rank);
+        HYDU_ERR_POP(status, "error resolving regex\n");
+
         mark = 0;
         for (i = 0; i < buflen; i++) {
             if (buf[i] == '\n' || i == buflen - 1) {
-                HYDU_dump_noprefix(stderr, "[%d] ", rank);
-                status = HYDU_sock_write(STDERR_FILENO, (const void *) &buf[mark],
-                                         i - mark + 1, &sent, &closed);
-                HYDU_ERR_POP(status, "unable to write data to stderr\n");
+                status = HYDU_sock_write(fd, (const void *) prepend, strlen(prepend), &sent,
+                                         &closed);
+                status = HYDU_sock_write(fd, (const void *) &buf[mark], i - mark + 1,
+                                         &sent, &closed);
+                HYDU_ERR_POP(status, "unable to write data to stdout/stderr\n");
                 HYDU_ASSERT(!closed, status);
                 mark = i + 1;
             }
         }
+
+        HYDU_FREE(prepend);
     }
 
   fn_exit:
@@ -220,3 +334,13 @@
   fn_fail:
     goto fn_exit;
 }
+
+HYD_status HYD_uiu_stdout_cb(int pgid, int proxy_id, int rank, void *buf, int buflen)
+{
+    return stdoe_cb(STDOUT_FILENO, pgid, proxy_id, rank, buf, buflen);
+}
+
+HYD_status HYD_uiu_stderr_cb(int pgid, int proxy_id, int rank, void *buf, int buflen)
+{
+    return stdoe_cb(STDERR_FILENO, pgid, proxy_id, rank, buf, buflen);
+}

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h	2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
 #ifndef UIU_H_INCLUDED
 #define UIU_H_INCLUDED
 
-#include "hydra.h"
+#include "hydra_server.h"
 
 void HYD_uiu_init_params(void);
 void HYD_uiu_free_params(void);


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/pm/hydra/utils:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/utils:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/utils:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/utils:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/utils:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/utils:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/utils:5406
/mpich2/trunk/src/pm/hydra/utils:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/src/pm/hydra/utils:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/utils:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/utils:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/utils:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/utils:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/utils:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/utils:5406
/mpich2/trunk/src/pm/hydra/utils:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 void HYDU_init_user_global(struct HYD_user_global *user_global)
 {
@@ -24,7 +24,6 @@
 
     user_global->enablex = -1;
     user_global->debug = -1;
-    user_global->prepend_rank = -1;
 
     user_global->auto_cleanup = -1;
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 static int exists(char *filename)
 {
@@ -302,7 +302,7 @@
 
 HYD_status HYDU_parse_hostfile(char *hostfile, struct HYD_node **node_list,
                                HYD_status(*process_token) (char *token, int newline,
-                                                           struct HYD_node **node_list))
+                                                           struct HYD_node ** node_list))
 {
     char line[HYD_TMP_STRLEN], **tokens;
     FILE *fp;

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 char *HYD_dbg_prefix = (char *) "unknown";
 

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bsci.h"
 
 HYD_status HYDU_env_to_str(struct HYD_env *env, char **str)

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "bind.h"
 
 HYD_status HYDU_create_process(char **client_arg, struct HYD_env *env_list,

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 int HYDU_local_to_global_id(int local_id, int start_pid, int core_count, int global_core_count)
 {

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 HYD_status HYDU_set_signal(int signum, void (*handler) (int))
 {

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 #include "demux.h"
 
 struct fwd_hash {

Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c	2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c	2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
-#include "hydra_utils.h"
+#include "hydra.h"
 
 HYD_status HYDU_list_append_strlist(char **src_strlist, char **dest_strlist)
 {


Property changes on: mpich2/branches/release/mpich2-1.3.x/winconfigure.wsf
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/winconfigure.wsf:5050
/mpich2/branches/dev/ckpt2/winconfigure.wsf:5057-6537
/mpich2/branches/dev/ftb/winconfigure.wsf:5661-5730
/mpich2/branches/dev/lapi/winconfigure.wsf:5817
/mpich2/branches/dev/win_rrvm/winconfigure.wsf:6404,6407-6408,6420,6422-6423
/mpich2/branches/dev/wintcp_async_progress/winconfigure.wsf:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/winconfigure.wsf:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/winconfigure.wsf:5406
/mpich2/trunk/winconfigure.wsf:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
   + /mpich2/branches/dev/ckpt/winconfigure.wsf:5050
/mpich2/branches/dev/ckpt2/winconfigure.wsf:5057-6537
/mpich2/branches/dev/ftb/winconfigure.wsf:5661-5730
/mpich2/branches/dev/lapi/winconfigure.wsf:5817
/mpich2/branches/dev/win_rrvm/winconfigure.wsf:6404,6407-6408,6420,6422-6423
/mpich2/branches/dev/wintcp_async_progress/winconfigure.wsf:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/winconfigure.wsf:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/winconfigure.wsf:5406
/mpich2/trunk/winconfigure.wsf:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654



More information about the mpich2-commits mailing list