From:	CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX"  8-JUN-1991 00:05:11.20
To:	ARISIA::EVERHART
CC:	
Subj:	xterm question solved (thanks)

From:	RELAY-INFO-VAX@CRVAX.SRI.COM@SMTP@CRDGW2
To:	Everhart@Arisia@MRGATE

Received:  by crdgw1.ge.com (5.57/GE 1.99)
	 id AA19929; Fri, 7 Jun 91 23:53:36 EDT
Message-Id:  <9106080353.AA19929@crdgw1.ge.com>
Received: From ATCF.NCSC.NAVY.MIL by CRVAX.SRI.COM with TCP; Fri,  7 JUN 91 06:37:07 PDT
Date: 7 Jun 91 08:26:00 CDT
From: "Tom Williams" <williamst@atcf.ncsc.navy.mil>
Subject: xterm question solved (thanks)
To: "info-vax" <info-vax@sri.com>

i have my problem with the xterm running on the vt1300 solved. it seems the 
module vms.c needs a call to sys$hiber() in the loop that waits for a new 
process when the base priority is above 4.  

Thanks to Stephan (<JANSEN%MADRAF.DecNet@vms3.macc.wisc.edu>) for pointing it 
out.  Following is a DIFFERENCES of the vms.c file and a section of vms.c code 
to find where to put the change:
$ diff vms.c
************
File SYS$COMMON:[TOOLS.XTERM]VMS.C;7
  257
  258                   sys$hiber();
  259
  260           }
******
File SYS$COMMON:[TOOLS.XTERM]VMS.C;6
  257           }
************
************
File SYS$COMMON:[TOOLS.XTERM]VMS.C;7
******
File SYS$COMMON:[TOOLS.XTERM]VMS.C;6
  434
************

Number of difference sections found: 2
Number of difference records found: 4

DIFFERENCES /IGNORE=()/MERGED=1-
    SYS$COMMON:[TOOLS.XTERM]VMS.C;7-
    SYS$COMMON:[TOOLS.XTERM]VMS.C;6

====================================================================

$ sear/wind=30/num vms.c sys$hiber
   244
   245          strcpy(&imagename,"LOGINOUT.EXE");
   246          while ((strstr(&imagename,"LOGINOUT.EXE") != NULL) ||
   247                                          (status & SS$_SUSPENDED)) {
   248                  itemlist.buflen =64;
   249                  itemlist.code = JPI$_IMAGNAME;
   250                  itemlist.buffer = &imagename;
   251                  itemlist.return_addr = 0;
   252                  itemlist.terminator = 0;
   253                  status = sys$getjpiw(0,&pid,0,&itemlist,0,0,0);
   254
   255                  if(!(status & SS$_SUSPENDED) && !(status & 
SS$_NORMAL))
   256                          lib$signal(status);
   257
   258                  sys$hiber();
   259
   260          }
   261
   262
   263
   264          /* If this image was installed with the priv's SHARE and 
PHY_IO
   265             then set a flag indicating that xterm should wait for the
   266             created process to set the terminal type to VT100 and then
   267             xterm will set the terminal width and page size (length).
   268           */
   269
   270          itemlist.buflen = 4;
   271          itemlist.code = JPI$_IMAGPRIV;
   272          itemlist.buffer = &privs;
   273          itemlist.return_addr = 0;
$



