Trailing-Edge
-
PDP-10 Archives
-
BB-AE97A-BM
-
documentation/dil.bwr
There are 23 other files named dil.bwr in the archive. Click here to see a list.
Data Interchange Library Beware File
January, 1983
VERSION 1
COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1983
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
Page 2
1.0 INTRODUCTION
1.1 Function
This document supplements the Data Interchange Library manual by
pointing out hints and potential problems discovered after the manual
went to press.
The file DIL.DOC contains further supplemental documentation,
including installation instructions.
2.0 VMS TASK-TO-TASK SYNCHRONOUS DISCONNECT
Synchronous disconnect on a VAX does an abort instead. This will be
fixed in a future version of VMS. There is no way around this
problem. For now, you should code programs which may communicate with
tasks running on a VMS system to expect this situation.
3.0 REQUIRED PA1050 FOR TOPS-20 PROGRAMS
The DIL is supported on TOPS-20 4.1 (2020, KL model A) and TOPS-20 5.1
(KL model B). You must use the PA1050 shipped with those versions for
the Task-to-Task or Remote File Access routines to work.
4.0 XPORT MEMORY MANAGER ON TOPS-20
You must use the XPORT shipped on this tape rather than the latest
Bliss release of XPORT because of a problem in the memory manager.
XPORT is needed for all TOPS-20 programs which use the Remote File
Access routines. The required edit will be included in the next
distribution of XPORT.
5.0 C74OTS EDIT FOR COBOL-74 PROGRAMS ON TOPS-20
You must insert edit 1045, shown below, into the RMSIO module in
C74OTS in order to use the Task-to-Task or Remote File Access routines
from a COBOL-74 program on TOPS-20.
*********************
*PCO #:20-LIBOL -076*
*********************
Page 3
[Program Data] System: TOPS20
Component:LIBOL
[Validity] COBOL (1131)
[Date Entered] 28-OCT-82
[Programmer] MASLANKA
[Routines] RMSIO
[Key Words] LOST PAGES
[Source Before Edit] %12B (001044)
[Source After Edit] %12B (001045)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-18389
Archived: NO
OTHER PRODUCT:
AUTOPATCH TAPE #
************************************************************************
[PCO Write-up]
**********
[SYMPTOM]
When RMS-20, with LIBOL-20 v 12B, is used in conjunction
with such other software as TRAFFIC-20, two pages of RMS-20
global data can be lost resulting in an ILL MEM REF.
**********
[DIAGNOSIS]
Those two pages are never actually touched when the RMS-20
entry vector is being gotten. As a result the TOPS-20 Page
Handler does not know about them and considers itself free
to assign them to someone else in the run-unit, if
requested. Those two pages contain symbols for RMS-20
global data. The corresponding action for RMS-10 is done by
an explicit call to a PAGE. UUO. However, a TOPS-20
Page 4
run-unit will not initialize those two pages until the first
call to an RMS-20 JSYS, which will touch the pages.
**********
[CURE]
Install Edit 1045 to RMSIO.MAC in LIBOL-20 and rebuild
LIBOL-20. Edit 1045 inserts a $MESSAGE RMS-20 JSYS call
into the RMSGET run-time initialization procedure. The
usual purpose of this call is to turn on the reporting of
RMS-20 internal messages. However, in this case it also
initializes the RMS-20 system in the user's address space,
causing those two pages to be touched. This is because it
is now the first RMS-20 JSYS call done by the user's
run-unit.
[FILCOM]
File 1) DSK:RMSIO.OLD[4,152] created: 1641 14-Oct-1982
File 2) DSK:RMSIO.MAC[4,152] created: 1342 19-Oct-1982
1)1 ;RLF 08-OCT-82 [1044] Space fill record area
****
2)1 ;JSM 18-OCT-82 [1045] Use $MESSAGE in RMSGET as first R
MS-20 call to
2) ; initialize RMS-20 global data sy
mbols.
2) ;RLF 08-OCT-82 [1044] Space fill record area
**************
1)7 POPJ PP, ;RETURN
****at RMSGSR + 9, following DIC%
2)7 $MESSAGE ;[1045] TURN ON RMS-20 INTERNAL
MESSAGE
2) ;[1045] REPORTING AND ALSO INITI
ALIZE THE
2) ;[1045] AREA FOR RMS-20 GLOBAL D
ATA SYMBOLS.
2) POPJ PP, ;RETURN
**************
[END OF PCO 20-LIBOL -076]
Page 5
6.0 TOPS-20 VERSION REQUIRED
You must be running TOPS-20 version 5.1, which incorporates several
fixes to NSPSRV, in order to use the Task to Task or Remote File
Access routines on TOPS-20. If you have a 2020, you must run TOPS-20
version 4.1.
7.0 USER-ASSIGNABLE PA1050 INTERRUPT CHANNELS ON TOPS-20
There are no user-assignable interrupts in PA1050 left for the COBOL
user on TOPS-20 if the IP20 routines in TRAFFIC-20, the Remote File
Access routines, and the Task-to-Task routines are loaded in one user
program, due to a PA1050 restriction. Note that using user-assignable
interrupts in PA1050 is not supported.
8.0 REMOTE FILE ACCESS ROUTINES WITH COBOL-20
To use the Remote File Access routines on TOPS-20 from a COBOL
program, the user will have to compile his COBOL program with /D:2000
to insure adequate runtime stack space. This solution should be tried
if the user program gets a stack overflow.
9.0 REMOTE FILE ACCESS ROUTINES WITH FORTRAN-20 V. 6
To use the DAP routines on TOPS-20 from a FORTRAN v. 6 program, the
user must rebuild FOROTS according to the Fortran Installation Guide
to increase the runtime stack space (by modifying FORPRM.MAC to
increase LPDL). This is not necessary for FORTRAN v. 7 programs,
because that version has a larger default stack size, but it should be
done if user programs start to get stack overflows.
To use the rebuilt FOROTS, you must have FORLIB.REL and FOROT6.EXE
(FOROT7.EXE if you have rebuilt FOROTS version 7) in your SYS: area.
Page 6
10.0 USING A SHAREABLE OTS ON TOPS-20
10.1 FORTRAN PROGRAMS
Normal loading of a Fortran program with DIL will result in a TWOSEG
program with a nonshareable FOROTS loaded from FORLIB. This can be
saved and executed in a shareable fashion. If you want to load the
DIL code in the low segment so that the shareable FOROTS can be used,
you must use /SEG:LOW in the LINK command when loading your program.
10.2 COBOL PROGRAMS
COBOL programs will normally produce low-adress data areas (containing
COBOL and DIL writeable data), higher-address pure code areas
containing COBOL and DIL code, and the shareable LIBOL/C74OTS which
comes in at higher addresses. This behavior can be modified by the
appropriate switches to the COBOL compiler (see the COBOL Reference
manual).
11.0 REMOTE FILE ACCESS TO TOPS-20 FILES
All TOPS20 ASCII files for remote file access should be specified as
stream record format with no record attributes or with
carriage-return/linefeed envelope attribute.
12.0 PRINT RECORD ATTRIBUTE FOR VMS FILES
Record attribute PRINT is only valid for record format VFC on the VAX.
13.0 APPEND ACCESS TO REMOTE FILES
TOPS-20 FAL v. 2(201) does not support APPEND file access. If you
attempt to append to a remote file on a TOPS-20 system, you will
receive the "network operation not supported" error.
Page 7
14.0 VMS JOBS HUNG IN MWAIT STATE
VMS programs using the Task-to-Task routines in particular, but also
other VMS programs, may hang in MWAIT state if the BYTLIM quota is not
large enough, a VMS bug which is not yet fixed in VMS version 3.1. If
a program hangs in this state, the program should be tried again with
a larger BYTLIM.
15.0 HUNG REMOTE FILE ACCESS JOBS ON TOPS-20
TOPS-20 jobs may hang and/or get errors due to no more monitor free
core after local DECnet links which use interrupt data messages are
used (for example, connections to the local FAL) with the 5.1 monitor.
This can result in ALL the DECnet jobs on the system eventually
hanging. The patch is:
@get system:monitr.exe
@start 140
DDT
! JFCL out the first 3 instructions at INTLS: (in NSPSRV)
intls/ MOVE T3,TODCLK jfcl
intls+1/ ADD T3,NSINAC jfcl
intls+2/ MOVEM T3,CRSTD1(T1) jfcl
^Z
@save system:monitr.exe
This patch will be included in TOPS-20 release 6.
16.0 C74OTS WHICH IS TOO LARGE TO FIT RMS
If you get the following error at run time in a COBOL-74 program on
TOPS-20, you may have to compile your program with the /R switch and
link with RMS explicitly:
? ?Can't GET RMS: Program too big
?LBL500 RMS-SYSTEM failure
This usually happens when your version of C74OTS was built with DBMS
included and has no room in memory (at run time) for RMS. See the
TOPS-20 COBOL-74 manual for more information on the /R language
switch.
Page 8
You should be able to fix this problem with the following:
at compile time:
@COMPILE USRPRG /74-COBOL /LANGUAGE-SWITCHES:"/R"
at link time:
@LINK
*USRPRG, SYS:DIL/SE, SYS:XPORT/SE/EXCLUDE:XFUNCT,SYS:RMS/G
17.0 TASK-TO-TASK RECORD SIZE RESTRICTIONS
Message-mode task-to-task links to or from a TOPS-20 system cannot
move records larger than 2048 (ASCII or 8-bit) characters, or 571
words of data (binary mode) due to a permanent TOPS-20 monitor
restriction.
Task-to-task links to or from a VAX/VMS system cannot move records
larger than 2570 8-bit bytes due to a DIL restriction.
18.0 ADDITIONAL SUPPORTED FEATURES
Information on additional supported Task-to-Task features which you
may find useful to verify authorized access to your server program's
services can be found in the .DOC file; this information is not
included in the manual for version 1.
19.0 ADDITIONAL ERROR INFORMATION
Additional information on possible causes of errors in the
Task-to-Task and Remote File Access routines can be found in the .DOC
file; this information is not included in the manual for verison 1.
[End of DIL.BWR]