Updated MPICH-mpiexec patch for MPICH 1.2.4

Pete Wyckoff pw at osc.edu
Fri May 24 11:54:09 EDT 2002


ben at bellatrix.pcl.ox.ac.uk said:
> 	While I'm in this generous patch-sharing mood, here's a patch
> for MPICH 1.2.4 to have it work with mpiexec. It's essentially just the
> mpich-1.2.3-alpha-020118-mpiexec.diff patch from the mpiexec
> distribution, with minor formatting and context changes to get it to
> apply cleanly to 1.2.4. Enjoy...

Can you explain this to me?  Note that I haven't tried running (or
stressing) yet mpich-1.2.4-p4, but just grepping the sources has me
scratching my head.

mpich-1.2.4-p4 configure by default defines USE_NONBLOCKING_LISTENER_SOCKETS.
I can't find the symbol you introduce, USE_BLOCKING_LISTENER_SOCKETS,
anywhere else but your patch.

Admittedly, I believe that configuring with --disable-nonblocking-listener
will generate a buggy mpich library, and that your changes can only
serve to fix that case.  Further your patch appears that it won't harm
or affect the default correct case.

Confused,

		-- Pete

> diff -Nur mpich-1.2.4/mpid/ch_p4/p4/lib/p4_bm.c mpich-1.2.4-patched/mpid/ch_p4/p4/lib/p4_bm.c
> --- mpich-1.2.4/mpid/ch_p4/p4/lib/p4_bm.c	Mon May  6 04:00:31 2002
> +++ mpich-1.2.4-patched/mpid/ch_p4/p4/lib/p4_bm.c	Mon May 13 18:47:01 2002
> @@ -386,14 +386,14 @@
>  #           ifdef CAN_DO_SOCKET_MSGS
>  	    if (!(p4_global->local_communication_only))
>  	    {
> -#ifdef USE_NONBLOCKING_LISTENER_SOCKETS
> +#ifndef USE_BLOCKING_LISTENER_SOCKETS
>  		/* Set the listener socket to be nonblocking.  */
>  		int rc = p4_make_socket_nonblocking( end_1 );
>  		if (rc < 0) {
>  		    p4_error("create_bm_processes: set listener nonblocking",
>  			     rc);
>  		}
> -#endif /* USE_NONBLOCKING_LISTENER_SOCKETS */
> +#endif /* USE_BLOCKING_LISTENER_SOCKETS */
>  		p4_local->listener_fd = end_1;
>  #               if !defined(THREAD_LISTENER)
>  		close(end_2);
[etc.]



More information about the mpiexec mailing list