Prereq: 2
*** ../netlib/pvm3.3.2/src/patchlevel.h	Fri Jul  1 11:27:18 1994
--- src/patchlevel.h	Mon Jul 18 14:43:54 1994
***************
*** 1,3 ****
  
! #define PATCHLEVEL 2
  
--- 1,3 ----
  
! #define PATCHLEVEL 3
  
*** ../netlib/pvm3.3.2/conf/LINUX.def	Sat Jun  4 17:52:06 1994
--- conf/LINUX.def	Mon Jul 18 14:44:37 1994
***************
*** 1,4 ****
! ARCHCFLAGS	=	-DNOSOCKOPT -DSYSVSIGNAL -DNOWAIT3 -DNOUNIXDOM
  ARCHDLIB	=
  ARCHDOBJ	=
  ARCHLIB	=
--- 1,4 ----
! ARCHCFLAGS	=	-DNOSOCKOPT -DSYSVSIGNAL -DNOWAIT3 -DNOUNIXDOM -DRSHCOMMAND=\"/usr/bin/rsh\"
  ARCHDLIB	=
  ARCHDOBJ	=
  ARCHLIB	=
*** ../netlib/pvm3.3.2/console/tevfmt.c	Fri Jun  3 16:01:53 1994
--- console/tevfmt.c	Mon Jul 18 14:46:10 1994
***************
*** 32,37 ****
--- 32,40 ----
   *	Decode trace message.
   *
  $Log: tevfmt.c,v $
+  * Revision 1.2  1994/07/18  18:45:53  manchek
+  * changed precv, psend tid to hex
+  *
   * Revision 1.1  1994/06/03  20:01:53  manchek
   * Initial revision
   *
***************
*** 211,219 ****
  	{ "pvm_hostsync1",		0 /*"=%R"*/ },
  	{ "pvm_packf0",			"(%S, ...)" },
  	{ "pvm_packf1",			"=%R" },
! 	{ "pvm_precv0",			"(%d, %d, %x, %d, %d, ...)" },
  	{ "pvm_precv1",			"=%R" },
! 	{ "pvm_psend0",			"(%d, %d, %x, %d, %d)" },
  	{ "pvm_psend1",			"=%R" },
  	{ "pvm_reduce0",		0 /*"(...)"*/ },
  	{ "pvm_reduce1",		0 /*"=%R"*/ },
--- 214,222 ----
  	{ "pvm_hostsync1",		0 /*"=%R"*/ },
  	{ "pvm_packf0",			"(%S, ...)" },
  	{ "pvm_packf1",			"=%R" },
! 	{ "pvm_precv0",			"(%x, %d, %x, %d, %d, ...)" },
  	{ "pvm_precv1",			"=%R" },
! 	{ "pvm_psend0",			"(%x, %d, %x, %d, %d)" },
  	{ "pvm_psend1",			"=%R" },
  	{ "pvm_reduce0",		0 /*"(...)"*/ },
  	{ "pvm_reduce1",		0 /*"=%R"*/ },
*** ../netlib/pvm3.3.2/examples/CM5/Makefile	Fri May 13 18:13:15 1994
--- examples/CM5/Makefile	Mon Jul 18 14:46:30 1994
***************
*** 24,37 ****
  CFLAGS	=	-O -I../../include 
  LIBS	=	$(PVMLIB) $(ARCHLIB)
  NODELIBS	=	$(PVMPELIB) $(ARCHLIB)
  
  F77     =	f77
  FFLAGS	=	-O
! FLIBS	=	$(LIBDIR)/libfpvm3.a $(LIBS)
! FPELIBS	=	$(LIBDIR)/libfpvm3.a $(NODELIBS)
  
  default:	master slave 
  
  $(XDIR):	$(BDIR)
  	- mkdir $(XDIR)
  
--- 24,43 ----
  CFLAGS	=	-O -I../../include 
  LIBS	=	$(PVMLIB) $(ARCHLIB)
  NODELIBS	=	$(PVMPELIB) $(ARCHLIB)
+ GLIB	=	$(LIBDIR)/libgpvm3.a
  
  F77     =	f77
  FFLAGS	=	-O
! FLIB	=	$(LIBDIR)/libfpvm3.a
  
  default:	master slave 
  
+ c-all: master nntime slave spmd spmdh timing timing_slave
+ 
+ f-all: fmaster fslave fspmd fspmdh hitc hitc_slave testall
+ 
+ all: c-all f-all
+ 
  $(XDIR):	$(BDIR)
  	- mkdir $(XDIR)
  
***************
*** 53,75 ****
  	mv timing $(XDIR)
  
  spmdh: $(SDIR)/spmd.c  $(XDIR)
! 	$(CC) $(CFLAGS) -o spmdh $(SDIR)/spmd.c $(LIBS)
  	mv spmdh $(XDIR)
  
  spmd: $(SDIR)/spmd.c  $(XDIR)
  	$(CC) $(CFLAGS) -c $(SDIR)/spmd.c
  	cmmd-ld -comp cc -o spmd -host $(LIBDIR)/pvmhost.o \
! 		$(LIBDIR)/libpvm3.a -node spmd.o $(NODELIBS)
  	mv spmd $(XDIR)
  
  fspmdh: $(SDIR)/spmd.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o spmdh $(SDIR)/spmd.f $(FLIBS)
  	mv spmdh $(XDIR)
  
  fspmd: $(SDIR)/spmd.f  $(XDIR)
  	$(F77) $(FFLAGS) -c $(SDIR)/spmd.f
  	cmmd-ld -comphost $(CC) -o spmd -host $(LIBDIR)/pvmhost.o $(LIBS) \
! 		-comp $(F77) -node spmd.o $(FPELIBS)
  	mv spmd $(XDIR)
  
  master: $(SDIR)/master1.c  $(XDIR)
--- 59,81 ----
  	mv timing $(XDIR)
  
  spmdh: $(SDIR)/spmd.c  $(XDIR)
! 	$(CC) $(CFLAGS) -o spmdh $(SDIR)/spmd.c $(GLIB) $(LIBS)
  	mv spmdh $(XDIR)
  
  spmd: $(SDIR)/spmd.c  $(XDIR)
  	$(CC) $(CFLAGS) -c $(SDIR)/spmd.c
  	cmmd-ld -comp cc -o spmd -host $(LIBDIR)/pvmhost.o \
! 		$(LIBDIR)/libpvm3.a -node spmd.o $(GLIB) $(NODELIBS)
  	mv spmd $(XDIR)
  
  fspmdh: $(SDIR)/spmd.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o spmdh $(SDIR)/spmd.f $(FLIB) $(GLIB) $(LIBS)
  	mv spmdh $(XDIR)
  
  fspmd: $(SDIR)/spmd.f  $(XDIR)
  	$(F77) $(FFLAGS) -c $(SDIR)/spmd.f
  	cmmd-ld -comphost $(CC) -o spmd -host $(LIBDIR)/pvmhost.o $(LIBS) \
! 		-comp $(F77) -node spmd.o $(FLIB) $(GLIB) $(NODELIBS)
  	mv spmd $(XDIR)
  
  master: $(SDIR)/master1.c  $(XDIR)
***************
*** 83,99 ****
  	mv slave1 $(XDIR)
  
  fmaster: $(SDIR)/master1.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o master1 $(SDIR)/master1.f $(FLIBS)
  	mv master1 $(XDIR)
  
  fslave: $(SDIR)/slave1.f  $(XDIR)
  	$(F77) $(FFLAGS) -c $(SDIR)/slave1.f
  	cmmd-ld -comphost cc -o slave1 -host $(LIBDIR)/pvmhost.o $(LIBS) \
! 		-comp $(F77) -node slave1.o $(FPELIBS)
  	mv slave1 $(XDIR)
  
  testall: $(SDIR)/testall.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o testall $(SDIR)/testall.f $(FLIBS)
  	mv testall $(XDIR)
  
  #nntimeh: $(SDIR)/nntime.c  $(XDIR)
--- 89,105 ----
  	mv slave1 $(XDIR)
  
  fmaster: $(SDIR)/master1.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o master1 $(SDIR)/master1.f $(FLIB) $(LIBS)
  	mv master1 $(XDIR)
  
  fslave: $(SDIR)/slave1.f  $(XDIR)
  	$(F77) $(FFLAGS) -c $(SDIR)/slave1.f
  	cmmd-ld -comphost cc -o slave1 -host $(LIBDIR)/pvmhost.o $(LIBS) \
! 		-comp $(F77) -node slave1.o $(FLIB) $(NODELIBS)
  	mv slave1 $(XDIR)
  
  testall: $(SDIR)/testall.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o testall $(SDIR)/testall.f $(FLIB) $(LIBS)
  	mv testall $(XDIR)
  
  #nntimeh: $(SDIR)/nntime.c  $(XDIR)
***************
*** 107,118 ****
  	mv nntime $(XDIR)
  
  hitc: $(SDIR)/hitc.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o hitc $(SDIR)/hitc.f $(FLIBS)
  	mv hitc $(XDIR)
  
  hitc_slave: $(SDIR)/hitc_slave.f  $(XDIR)
  	$(F77) $(FFLAGS) -c $(SDIR)/hitc_slave.f
  	cmmd-ld -comphost cc -o hitc_slave -host $(LIBDIR)/pvmhost.o $(LIBS) \
! 		-comp $(F77) -node hitc_slave.o $(FPELIBS)
  	mv hitc_slave $(XDIR)
  
--- 113,124 ----
  	mv nntime $(XDIR)
  
  hitc: $(SDIR)/hitc.f  $(XDIR)
! 	$(F77) $(FFLAGS) -o hitc $(SDIR)/hitc.f $(FLIB) $(LIBS)
  	mv hitc $(XDIR)
  
  hitc_slave: $(SDIR)/hitc_slave.f  $(XDIR)
  	$(F77) $(FFLAGS) -c $(SDIR)/hitc_slave.f
  	cmmd-ld -comphost cc -o hitc_slave -host $(LIBDIR)/pvmhost.o $(LIBS) \
! 		-comp $(F77) -node hitc_slave.o $(FLIB) $(NODELIBS)
  	mv hitc_slave $(XDIR)
  
*** ../netlib/pvm3.3.2/lib/pvmgetarch	Wed Jun  1 16:25:00 1994
--- lib/pvmgetarch	Mon Jul 18 14:47:49 1994
***************
*** 37,43 ****
  	SunOS,sun4* )           ARCH=SUN4 ;;
  	ULTRIX,RISC )           ARCH=PMAX ;;
  	ULTRIX,VAX )            ARCH=UVAX ;;
! 	AIX,* )                 ARCH=RS6K ;;
  	*HP*,9000/[2345]* )     ARCH=HP300 ;;
  	*HP*,9000/[78]* )       ARCH=HPPA ;;
  	IRIX,* )                ARCH=SGI ;;
--- 37,43 ----
  	SunOS,sun4* )           ARCH=SUN4 ;;
  	ULTRIX,RISC )           ARCH=PMAX ;;
  	ULTRIX,VAX )            ARCH=UVAX ;;
! 	AIX*,* )                ARCH=RS6K ;;
  	*HP*,9000/[2345]* )     ARCH=HP300 ;;
  	*HP*,9000/[78]* )       ARCH=HPPA ;;
  	IRIX,* )                ARCH=SGI ;;
***************
*** 133,139 ****
  if [ "$ARCH" = SUN4 -a -f /dev/cm ]; then ARCH=CM2; fi
  if [ "$ARCH" = SUN4 -a -f /dev/cmni ]; then ARCH=CM5; fi
  if [ "$ARCH" = CNVX ]; then
! 	if getsysinfo -f native_default; then
  		ARCH=CNVXN
  	fi
  fi
--- 133,139 ----
  if [ "$ARCH" = SUN4 -a -f /dev/cm ]; then ARCH=CM2; fi
  if [ "$ARCH" = SUN4 -a -f /dev/cmni ]; then ARCH=CM5; fi
  if [ "$ARCH" = CNVX ]; then
! 	if /usr/convex/getsysinfo -f native_default; then
  		ARCH=CNVXN
  	fi
  fi
*** ../netlib/pvm3.3.2/man/man3/pvm_catchout.3	Sun Mar  6 12:50:37 1994
--- man/man3/pvm_catchout.3	Mon Jul 18 14:48:13 1994
***************
*** 1,4 ****
! .TH CATCHOUT 3PVM "14 February, 1994"
  .SH NAME
  pvm_catchout \- Catch output from child tasks.
  
--- 1,4 ----
! .TH CATCHOUT 3PVM "13 July, 1994"
  .SH NAME
  pvm_catchout \- Catch output from child tasks.
  
***************
*** 7,16 ****
  .nf
  C	#include <stdio.h>
  
! 	int bufid = pvm_catchout( FILE *ff )
  .br
  
! Fortran	call pvmfcatchout( onoff )
  .fi
  
  .SH PARAMETERS
--- 7,16 ----
  .nf
  C	#include <stdio.h>
  
! 	int info = pvm_catchout( FILE *ff )
  .br
  
! Fortran	call pvmfcatchout( onoff, info )
  .fi
  
  .SH PARAMETERS
***************
*** 19,24 ****
--- 19,28 ----
  .br
  .IP onoff 0.8i
  Integer parameter.  Turns output collection on or off.
+ .br
+ .IP info
+ Integer status code returned by the routine.
+ Values less than zero indicate an error.
  
  .SH DISCUSSION
  The routine \fIpvm_catchout\fR
***************
*** 69,75 ****
  	pvm_catchout(stdout);
  .sp
  Fortran:
! 	CALL PVMFCATCHOUT( 1 )
  .fi
  
  .SH SEE ALSO
--- 73,79 ----
  	pvm_catchout(stdout);
  .sp
  Fortran:
! 	CALL PVMFCATCHOUT( 1, INFO )
  .fi
  
  .SH SEE ALSO
*** ../netlib/pvm3.3.2/man/man3/pvm_config.3	Tue Jun 21 15:40:24 1994
--- man/man3/pvm_config.3	Mon Jul 18 14:48:26 1994
***************
*** 1,4 ****
! .TH CONFIG 3PVM "30 August, 1993"
  .SH NAME
  pvm_config \- Returns information about the present virtual machine
  configuration.
--- 1,4 ----
! .TH CONFIG 3PVM "13 July, 1994"
  .SH NAME
  pvm_config \- Returns information about the present virtual machine
  configuration.
***************
*** 31,37 ****
  Integer returning the number of different data formats being used.
  .br
  .IP hostp
! Pointer to an array of structures which contain
  information about each host including its pvmd task ID,
  name, architecture, and relative speed.
  .br
--- 31,37 ----
  Integer returning the number of different data formats being used.
  .br
  .IP hostp
! Returns pointer to an array of structures which contain
  information about each host including its pvmd task ID,
  name, architecture, and relative speed.
  .br
***************
*** 74,80 ****
--- 74,85 ----
  .SH EXAMPLES
  .nf
  C:
+ 	struct pvmhostinfo *hostp;
+ 	int i, nhost, narch;
+ 
  	info = pvm_config( &nhost, &narch, &hostp );
+ 	for (i = 0; i < nhost; i++)
+ 		printf("%s\\n", hostp[i].hi_name);
  .sp
  Fortran:
  	Do i=1, NHOST
*** ../netlib/pvm3.3.2/man/man3/pvm_delhosts.3	Tue Jun 21 15:40:24 1994
--- man/man3/pvm_delhosts.3	Fri Jul  1 17:40:46 1994
***************
*** 84,90 ****
  .nf
  	PvmBadParam	giving an invalid argument value.
  	PvmSysErr	local pvmd not responding.
- 	PvmOutOfRes	PVM has run out of system resources.
  .fi
  .SH SEE ALSO
  pvm_addhosts(3PVM), pvm_notify(3PVM)
--- 84,89 ----
*** ../netlib/pvm3.3.2/man/man3/pvm_tasks.3	Tue Jun 21 15:40:28 1994
--- man/man3/pvm_tasks.3	Mon Jul 18 14:49:13 1994
***************
*** 1,4 ****
! .TH TASKS 3PVM "30 August, 1993"
  .SH NAME
  pvm_tasks \- Returns information about the tasks running
  on the virtual machine.
--- 1,4 ----
! .TH TASKS 3PVM "13 July, 1994"
  .SH NAME
  pvm_tasks \- Returns information about the tasks running
  on the virtual machine.
***************
*** 36,42 ****
  Integer returning the number of tasks being reported on.
  .br
  .IP taskp
! Pointer to an array of structures which contain
  information about each task including its task ID, parent tid,
  pvmd task ID, status flag, and the name of this task's executable file.
  The status flag values are: waiting for a message, waiting for the pvmd,
--- 36,42 ----
  Integer returning the number of tasks being reported on.
  .br
  .IP taskp
! Returns pointer to an array of structures which contain
  information about each task including its task ID, parent tid,
  pvmd task ID, status flag, and the name of this task's executable file.
  The status flag values are: waiting for a message, waiting for the pvmd,
***************
*** 85,91 ****
--- 85,96 ----
  .SH EXAMPLES
  .nf
  C:
+ 	struct pvmtaskinfo *taskp;
+ 	int i, ntask;
+ 
  	info = pvm_tasks( 0, &ntask, &taskp );
+ 	for (i = 0; i < ntask; i++)
+ 		printf("t%x\\n", taskp[i].ti_tid);
  Fortran:
  	Do i=1, NTASK
  	    CALL PVMFTASKS( DTID, NTASK, TID(i), PTID(i), DTID(i),
*** ../netlib/pvm3.3.2/patches/Contents	Fri Jul  1 11:27:17 1994
--- patches/Contents	Mon Jul 18 16:04:41 1994
***************
*** 1,3 ****
--- 1,39 ----
+ patch #3
+ version:
+     3.3.2 -> 3.3.3
+ files:
+     patch  src/patchlevel.h
+     patch  conf/LINUX.def
+     patch  console/tevfmt.c
+     patch  examples/CM5/Makefile
+     patch  lib/pvmgetarch
+     patch  man/man3/pvm_catchout.3
+     patch  man/man3/pvm_config.3
+     patch  man/man3/pvm_delhosts.3
+     patch  man/man3/pvm_tasks.3
+     patch  patches/Contents
+     patch  src/Makefile.aimk
+     patch  src/ddpro.c
+     patch  src/ddpro.h
+     patch  src/global.h
+     patch  src/lpvm.c
+     patch  src/pvmcruft.c
+     patch  src/pvmd.c
+     patch  src/sdpro.c
+     patch  src/tdpro.c
+     patch  src/waitc.c
+     patch  tasker/Makefile.aimk
+ what:
+     . pvmputenv() incorrectly matched environment substrings.
+     . LINUX.def needs RSHCOMMAND to be /usr/bin/rsh.
+     . schentry() coredump on alpha fixed.
+     . fixed bug causing RS6K to hang (write() to socket longer than 4096).
+     . fixed psend and precv formats in console trace output.
+     . pvm_catchout man page had incorrect syntax.
+     . pvm_config man page is more clear about ownership of hostp[].
+     . pvm_tasks man page is more clear about ownership of taskp[].
+     . lib/pvmgetarch uses /usr/convex/getsysinfo instead of getsysinfo.
+     . CM5 examples makefile was missing stuff.
  patch #2
  version:
      3.3.1 -> 3.3.2
*** ../netlib/pvm3.3.2/src/Makefile.aimk	Sat Jun  4 18:05:57 1994
--- src/Makefile.aimk	Mon Jul 18 14:49:52 1994
***************
*** 347,352 ****
--- 347,353 ----
  tdpro.o: $(SDIR)/tdpro.h
  tdpro.o: $(SDIR)/waitc.h
  waitc.o: $(SDIR)/bfunc.h
+ waitc.o: $(SDIR)/ddpro.h
  waitc.o: $(SDIR)/global.h
  waitc.o: $(SDIR)/host.h
  waitc.o: $(SDIR)/listmac.h
*** ../netlib/pvm3.3.2/src/ddpro.c	Fri Jul  1 11:27:17 1994
--- src/ddpro.c	Mon Jul 18 15:19:14 1994
***************
*** 32,37 ****
--- 32,41 ----
   *	Entry points for messages from network.
   *
  $Log: ddpro.c,v $
+  * Revision 1.6  1994/07/18  19:18:10  manchek
+  * hostfailentry() no longer matches pvmd' to t0.
+  * wa_dep wasn't propogated from hoststart to htupd
+  *
   * Revision 1.5  1994/06/30  21:33:46  manchek
   * addhosts() uses PVM_DPATH envar
   *
***************
*** 114,120 ****
   **           **
   ***************/
  
! static char rcsid[] = "$Id: ddpro.c,v 1.5 1994/06/30 21:33:46 manchek Exp $";
  static char pvmtxt[512];			/* scratch for error log */
  
  int dm_add();
--- 118,124 ----
   **           **
   ***************/
  
! static char rcsid[] = "$Id: ddpro.c,v 1.6 1994/07/18 19:18:10 manchek Exp $";
  static char pvmtxt[512];			/* scratch for error log */
  
  int dm_add();
***************
*** 259,265 ****
  	}
  
  	for (wp = waitlist->wa_link; wp != waitlist; wp = wp->wa_link) {
! 		if ((wp->wa_on & TIDHOST) == hpart) {
  			switch (wp->wa_kind) {
  
  			case WT_ADDHOST:	/* the master must have died */
--- 263,269 ----
  	}
  
  	for (wp = waitlist->wa_link; wp != waitlist; wp = wp->wa_link) {
! 		if (wp->wa_on && (wp->wa_on & TIDHOST) == hpart) {
  			switch (wp->wa_kind) {
  
  			case WT_ADDHOST:	/* the master must have died */
***************
*** 538,544 ****
  	wp = wait_new(WT_HOSTSTART);
  	wp->wa_tid = mp->m_src;
  	wp->wa_dep = mp->m_wid;
- 	wp->wa_on = 0;
  	wxp = TALLOC(1, struct waitc_add, "waix");
  	wxp->w_num = count;
  	wxp->w_hosts = TALLOC(count, struct hostd *, "waiv");
--- 542,547 ----
***************
*** 688,693 ****
--- 691,697 ----
  		sendmessage(mp2);
  
  	} else {
+ 		wp->wa_on = TIDPVMD;
  
  		if (pid = fork()) {		/* still us */
  			if (pid == -1) {
***************
*** 1600,1605 ****
--- 1604,1610 ----
  	}
  
  	wp2 = wait_new(WT_HTUPD);
+ 	wp2->wa_dep = wp->wa_dep;
  	wp2->wa_mesg = wp->wa_mesg;
  	wp->wa_mesg = 0;
  
***************
*** 1686,1691 ****
--- 1691,1697 ----
  			mp2->m_ref++;
  			mp2->m_dst = hp->hd_hostpart | TIDPVMD;
  			wp3 = wait_new(WT_HTUPD);
+ 			wp3->wa_dep = wp2->wa_dep;
  			wp2->wa_mesg->m_ref++;
  			wp3->wa_mesg = wp2->wa_mesg;
  			wp3->wa_on = hp->hd_hostpart;
***************
*** 1721,1726 ****
--- 1727,1733 ----
  			mp2->m_ref++;
  			mp2->m_dst = hp->hd_hostpart | TIDPVMD;
  			wp3 = wait_new(WT_HTUPD);
+ 			wp3->wa_dep = wp2->wa_dep;
  			wp2->wa_mesg->m_ref++;
  			wp3->wa_mesg = wp2->wa_mesg;
  			wp3->wa_on = hp->hd_hostpart;
*** ../netlib/pvm3.3.2/src/ddpro.h	Fri Jun  3 16:38:13 1994
--- src/ddpro.h	Mon Jul 18 15:19:36 1994
***************
*** 32,37 ****
--- 32,40 ----
   *	Pvmd-pvmd protocol
   *
  $Log: ddpro.h,v $
+  * Revision 1.3  1994/07/18  19:19:27  manchek
+  * added PDMWAITC
+  *
   * Revision 1.2  1994/06/03  20:38:13  manchek
   * version 3.3.0
   *
***************
*** 118,123 ****
--- 121,127 ----
  #define	PDMNET			64		/* ip stuff */
  #define	PDMSCHED		256		/* scheduler stuff */
  #define	PDMAPPL			512		/* application (scrapped messages and stuff) */
+ #define	PDMWAITC		1024	/* wait contexts */
  
  /* pvmd run states */
  
*** ../netlib/pvm3.3.2/src/global.h	Fri Jul  1 11:27:18 1994
--- src/global.h	Mon Jul 18 15:20:06 1994
***************
*** 32,37 ****
--- 32,40 ----
   *	Generic includes.
   *
  $Log: global.h,v $
+  * Revision 1.12  1994/07/18  19:20:00  manchek
+  * version to 3.3.3
+  *
   * Revision 1.11  1994/07/01  15:08:02  manchek
   * version to 3.3.2
   *
***************
*** 70,76 ****
  
  /* release version */
  
! #define	PVM_VER	"3.3.2"
  
  /* UDPMAXLEN should be set to the largest UDP message length
     your system can handle. */
--- 73,79 ----
  
  /* release version */
  
! #define	PVM_VER	"3.3.3"
  
  /* UDPMAXLEN should be set to the largest UDP message length
     your system can handle. */
*** ../netlib/pvm3.3.2/src/lpvm.c	Tue Jun 21 15:40:29 1994
--- src/lpvm.c	Mon Jul 18 15:20:45 1994
***************
*** 32,37 ****
--- 32,40 ----
   *	Libpvm core for unix environment.
   *
  $Log: lpvm.c,v $
+  * Revision 1.11  1994/07/18  19:20:18  manchek
+  * fix to call write() with max 4096 length for RS6K
+  *
   * Revision 1.10  1994/06/21  19:36:23  manchek
   * forgot to ifdef tt_spath
   *
***************
*** 109,114 ****
--- 112,125 ----
  #include <pvmtev.h>
  #include "tevmac.h"
  
+ #ifndef	max
+ #define	max(a,b)	((a)>(b)?(a):(b))
+ #endif
+ 
+ #ifndef	min
+ #define	min(a,b)	((a)<(b)?(a):(b))
+ #endif
+ 
  /* task debug mask */
  
  #define	TDMPACKET	1		/* packet tracing */
***************
*** 251,257 ****
   **           **
   ***************/
  
! static char rcsid[] = "$Id: lpvm.c,v 1.10 1994/06/21 19:36:23 manchek Exp $";
  static int debugmask = 0;				/* which debugging info */
  static int mxfersingle = 1;				/* mxfer returns after single frag */
  static char pvmtxt[512];				/* scratch for error log */
--- 262,268 ----
   **           **
   ***************/
  
! static char rcsid[] = "$Id: lpvm.c,v 1.11 1994/07/18 19:20:18 manchek Exp $";
  static int debugmask = 0;				/* which debugging info */
  static int mxfersingle = 1;				/* mxfer returns after single frag */
  static char pvmtxt[512];				/* scratch for error log */
***************
*** 1574,1580 ****
  				txtogo = txfp->fr_len;
  
  	/*
! 	* if this is first frag, prepend t-t header
  	*/
  				ff = 0;
  				if (txfp->fr_rlink == txup->ub_frag) {
--- 1585,1591 ----
  				txtogo = txfp->fr_len;
  
  	/*
! 	* if this is first frag, prepend message header
  	*/
  				ff = 0;
  				if (txfp->fr_rlink == txup->ub_frag) {
***************
*** 1592,1598 ****
  				if (txfp->fr_link == txup->ub_frag)
  					ff |= FFEOM;
  	/*
! 	* prepend t-d header
  	*/
  				txcp -= TDFRAGHDR;
  				pvmput32(txcp, txup->ub_dst);
--- 1603,1609 ----
  				if (txfp->fr_link == txup->ub_frag)
  					ff |= FFEOM;
  	/*
! 	* prepend frag header
  	*/
  				txcp -= TDFRAGHDR;
  				pvmput32(txcp, txup->ub_dst);
***************
*** 1601,1616 ****
  				pvmput32(txcp + 12, 0);		/* to keep putrify happy */
  				pvmput8(txcp + 12, ff);
  				txtogo += TDFRAGHDR;
- 				if (debugmask & TDMPACKET) {
- 					sprintf(pvmtxt, "mxfer() dst t%x n=%d\n",
- 							txup->ub_dst, txtogo);
- 					pvmlogerror(pvmtxt);
- 				}
  				if (!txfp->fr_u.dab)			/* inplace data */
  					txtogo -= txfp->fr_len;
  			}
  
  			n = write(txpcbp->tt_fd, txcp, txtogo);
  			if (n == -1 && errno != EWOULDBLOCK && errno != EINTR) {
  				if (txpcbp == topvmd) {
  					pvmlogperror("mxfer() write pvmd sock");
--- 1612,1636 ----
  				pvmput32(txcp + 12, 0);		/* to keep putrify happy */
  				pvmput8(txcp + 12, ff);
  				txtogo += TDFRAGHDR;
  				if (!txfp->fr_u.dab)			/* inplace data */
  					txtogo -= txfp->fr_len;
  			}
  
+ 			if (debugmask & TDMPACKET) {
+ 				sprintf(pvmtxt, "mxfer() dst t%x n=%d\n",
+ 						txup->ub_dst, txtogo);
+ 				pvmlogerror(pvmtxt);
+ 			}
+ #if defined(IMA_RS6K) || defined(IMA_POWER4)
+ 			n = write(txpcbp->tt_fd, txcp, min(txtogo, 4096));
+ #else
  			n = write(txpcbp->tt_fd, txcp, txtogo);
+ #endif
+ 			if (debugmask & TDMPACKET) {
+ 				sprintf(pvmtxt,
+ 						"mxfer() wrote %d\n", n);
+ 				pvmlogerror(pvmtxt);
+ 			}
  			if (n == -1 && errno != EWOULDBLOCK && errno != EINTR) {
  				if (txpcbp == topvmd) {
  					pvmlogperror("mxfer() write pvmd sock");
*** ../netlib/pvm3.3.2/src/pvmcruft.c	Fri Jun  3 16:38:22 1994
--- src/pvmcruft.c	Mon Jul 18 15:21:34 1994
***************
*** 32,37 ****
--- 32,40 ----
   *	Missing links and other wonk.
   *
  $Log: pvmcruft.c,v $
+  * Revision 1.4  1994/07/18  19:21:05  manchek
+  * pvmputenv() matched variable name substrings (need to compare = too)
+  *
   * Revision 1.3  1994/06/03  20:38:22  manchek
   * version 3.3.0
   *
***************
*** 81,87 ****
   **           **
   ***************/
  
! static char rcsid[] = "$Id: pvmcruft.c,v 1.3 1994/06/03 20:38:22 manchek Exp $";
  
  
  int
--- 84,90 ----
   **           **
   ***************/
  
! static char rcsid[] = "$Id: pvmcruft.c,v 1.4 1994/07/18 19:21:05 manchek Exp $";
  
  
  int
***************
*** 216,222 ****
  	for (p = s; *p && *p != '='; p++);
  	if (p == s || !*p)
  		return -1;
! 	l = p - s;
  
  	/* search current environ for name */
  
--- 219,225 ----
  	for (p = s; *p && *p != '='; p++);
  	if (p == s || !*p)
  		return -1;
! 	l = p - s + 1;	/* must include '=' */
  
  	/* search current environ for name */
  
*** ../netlib/pvm3.3.2/src/pvmd.c	Fri Jul  1 11:27:19 1994
--- src/pvmd.c	Mon Jul 18 15:22:22 1994
***************
*** 32,37 ****
--- 32,41 ----
   *	Mr. pvm daemon.
   *
  $Log: pvmd.c,v $
+  * Revision 1.14  1994/07/18  19:21:51  manchek
+  * added PDMWAITC.
+  * fix to call write() with max 4096 length for RS6K
+  *
   * Revision 1.13  1994/06/30  21:36:56  manchek
   * don't check remote sockaddr in netinput() on LINUX
   *
***************
*** 236,242 ****
   **           **
   ***************/
  
! static char rcsid[] = "$Id: pvmd.c,v 1.13 1994/06/30 21:36:56 manchek Exp $";
  static struct deaddata *deads = 0;	/* circ queue of dead task data */
  static char pvmtxt[512];		/* scratch for error log */
  static int ndead = 0;			/* len of deads */
--- 240,246 ----
   **           **
   ***************/
  
! static char rcsid[] = "$Id: pvmd.c,v 1.14 1994/07/18 19:21:51 manchek Exp $";
  static struct deaddata *deads = 0;	/* circ queue of dead task data */
  static char pvmtxt[512];		/* scratch for error log */
  static int ndead = 0;			/* len of deads */
***************
*** 458,464 ****
  	"net",	/* 40 */
  	"mpp",	/* 80 */
  	"sch",	/* 100 */
! 	"app"	/* 200 */
  };
  
  char *
--- 462,469 ----
  	"net",	/* 40 */
  	"mpp",	/* 80 */
  	"sch",	/* 100 */
! 	"app",	/* 200 */
! 	"wai"	/* 400 */
  };
  
  char *
***************
*** 1783,1789 ****
--- 1788,1798 ----
  				pp->pk_len, tp->t_sock);
  		pvmlogerror(pvmtxt);
  */
+ #if defined(IMA_RS6K) || defined(IMA_POWER4)
+ 		n = write(tp->t_sock, pp->pk_dat, min(pp->pk_len, 4096));
+ #else
  		n = write(tp->t_sock, pp->pk_dat, pp->pk_len);
+ #endif
  
  #ifdef	STATISTICS
  		if (n == -1)
*** ../netlib/pvm3.3.2/src/sdpro.c	Fri Jun  3 16:38:27 1994
--- src/sdpro.c	Mon Jul 18 15:23:40 1994
***************
*** 32,37 ****
--- 32,40 ----
   *	Pvmd entry points for messages from scheduler.
   *
  $Log: sdpro.c,v $
+  * Revision 1.2  1994/07/18  19:22:56  manchek
+  * ALPHA segfaulted on array subscript
+  *
   * Revision 1.1  1994/06/03  20:38:27  manchek
   * Initial revision
   *
***************
*** 69,75 ****
   **           **
   ***************/
  
! static char rcsid[] = "$Id: sdpro.c,v 1.1 1994/06/03 20:38:27 manchek Exp $";
  static char pvmtxt[512];			/* scratch for error log */
  
  int sm_bogus();
--- 72,78 ----
   **           **
   ***************/
  
! static char rcsid[] = "$Id: sdpro.c,v 1.2 1994/07/18 19:22:56 manchek Exp $";
  static char pvmtxt[512];			/* scratch for error log */
  
  int sm_bogus();
***************
*** 126,132 ****
  {
  	if (code < SM_FIRST || code > SM_LAST)
  		return "unknown";
! 	return sm_names[code - SM_FIRST];
  }
  
  
--- 129,136 ----
  {
  	if (code < SM_FIRST || code > SM_LAST)
  		return "unknown";
! 	code -= SM_FIRST;
! 	return sm_names[code];
  }
  
  
***************
*** 148,154 ****
  		goto bail;
  	}
  
! 	(smswitch[c - SM_FIRST])(mp);
  
  bail:
  	mesg_unref(mp);
--- 152,159 ----
  		goto bail;
  	}
  
! 	c -= SM_FIRST;
! 	(smswitch[c])(mp);
  
  bail:
  	mesg_unref(mp);
*** ../netlib/pvm3.3.2/src/tdpro.c	Tue Jun 21 15:40:29 1994
--- src/tdpro.c	Mon Jul 18 15:10:32 1994
***************
*** 35,40 ****
--- 35,43 ----
   * Revision 1.5  1994/06/21  18:30:00  manchek
   * subscript arith in tmname() broke with opt
   *
+  * Revision 1.5  1994/06/21  18:30:00  manchek
+  * subscript arith in tmname() broke with opt
+  *
   * Revision 1.4  1994/06/04  21:45:54  manchek
   * misc
   *
*** ../netlib/pvm3.3.2/src/waitc.c	Fri Jun  3 16:38:33 1994
--- src/waitc.c	Mon Jul 18 15:25:57 1994
***************
*** 32,37 ****
--- 32,41 ----
   *	Wait context descriptors.
   *
  $Log: waitc.c,v $
+  * Revision 1.3  1994/07/18  19:25:18  manchek
+  * wait_get() checks hostpart, ignoring TIDPVMD.
+  * added create/free logging
+  *
   * Revision 1.2  1994/06/03  20:38:32  manchek
   * version 3.3.0
   *
***************
*** 62,67 ****
--- 66,72 ----
  #include <strings.h>
  #endif
  #include "global.h"
+ #include "ddpro.h"
  #include "protoglarp.h"
  #include "pvmalloc.h"
  #include "mesg.h"
***************
*** 78,83 ****
--- 83,89 ----
  extern void pvmbailout();
  char *dmname();
  
+ extern int debugmask;				/* from pvmd.c */
  extern struct htab *hosts;			/* from pvmd.c */
  extern int myhostpart;				/* from pvmd.c */
  extern int tidlmask;				/* from pvmd.c */
***************
*** 90,96 ****
   **           **
   ***************/
  
! static char rcsid[] = "$Id: waitc.c,v 1.2 1994/06/03 20:38:32 manchek Exp $";
  static char pvmtxt[512];				/* scratch for error log */
  static char *waitnames[] = {
  	"addhost", "spawn", "hoststart", "task",
--- 96,102 ----
   **           **
   ***************/
  
! static char rcsid[] = "$Id: waitc.c,v 1.3 1994/07/18 19:25:18 manchek Exp $";
  static char pvmtxt[512];				/* scratch for error log */
  static char *waitnames[] = {
  	"addhost", "spawn", "hoststart", "task",
***************
*** 195,200 ****
--- 201,210 ----
  	wp2->wa_spec = 0;
  
  	LISTPUTBEFORE(wp, wp2, wa_link, wa_rlink);
+ 	if (debugmask & PDMWAITC) {
+ 		pvmlogerror("wait_new():\n");
+ 		wait_dump(wp2);
+ 	}
  	return wp2;
  }
  
***************
*** 228,233 ****
--- 238,247 ----
  wait_delete(wp)
  	struct waitc *wp;
  {
+ 	if (debugmask & PDMWAITC) {
+ 		pvmlogerror("wait_delete():\n");
+ 		wait_dump(wp);
+ 	}
  	if (wp->wa_mesg)
  		mesg_unref(wp->wa_mesg);
  
***************
*** 264,270 ****
  		pvmlogerror(pvmtxt);
  		return 0;
  	}
! 	if (hp && hp->hd_hostpart != wp->wa_on) {
  		sprintf(pvmtxt, "waitc_get() cod %s from t%x wid %d wrong host\n",
  				dmname(mp->m_cod), mp->m_src, mp->m_wid);
  		pvmlogerror(pvmtxt);
--- 278,284 ----
  		pvmlogerror(pvmtxt);
  		return 0;
  	}
! 	if (hp && hp->hd_hostpart != (wp->wa_on & TIDHOST)) {
  		sprintf(pvmtxt, "waitc_get() cod %s from t%x wid %d wrong host\n",
  				dmname(mp->m_cod), mp->m_src, mp->m_wid);
  		pvmlogerror(pvmtxt);
*** ../netlib/pvm3.3.2/tasker/Makefile.aimk	Sun Mar  6 18:17:19 1994
--- tasker/Makefile.aimk	Tue Jul  5 11:15:56 1994
***************
*** 13,19 ****
  BDIR	=	../../bin
  XDIR	=	$(BDIR)/$(PVM_ARCH)
  
! CFLAGS	=	$(ARCHCFLAGS) -g -I$(PVMIDIR) -L$(PVMLDIR) $(ARCHCFLAGS)
  LIBS	=	$(PVMLIB) $(ARCHLIB)
  
  default:	tasker
--- 13,19 ----
  BDIR	=	../../bin
  XDIR	=	$(BDIR)/$(PVM_ARCH)
  
! CFLAGS	=	$(ARCHCFLAGS) -g -I$(PVMIDIR) -L$(PVMLDIR) $(ARCHCFLAGS) -DIMA_$(PVM_ARCH)
  LIBS	=	$(PVMLIB) $(ARCHLIB)
  
  default:	tasker
