.PAGE SIZE 58, 85
.NONUMBER
.; for VAX
.LEFT MARGIN 10
.RIGHT MARGIN 75
.; for RSX
.;.LEFT MARGIN 0
.;.RIGHT MARGIN 65
.AUTOPARAGRAPH
#

.SKIP 5
.CENTER
THE RSX MULTI-TASKER
.SKIP
.CENTER
March 1989
.SKIP
.CENTER
"In hoc signo foobar"
.SKIP
.CENTER
Fine Realtime Commentary Since 1975
.SKIP 6

.CENTER
^&TABLE OF CONTENTS\&
.SKIP

.LITERAL

RSX SIG NEWS
  Editor's Corner                                 RSX-1
  Submitting Articles to the Multi-Tasker         RSX-1
  Bulletin Board Notes                            RSX-2
  Chairman's Corner                               RSX-2

ARTICLES
  Wrong Way BRU, RMD snapshot, and other notes    RSX-3
  Fall 89 Symposium Q and A session               RSX-6

.END LITERAL
.SKIP 10

Opinions expressed in the Multi-Tasker are those of individual
members. 
They do not represent the official position of the RSX SIG
or that of DECUS leadership in general.

.PAGE
.CENTER
^&RSX SIG NEWS\&
.SKIP 2

.COMMENT
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT Editor's Corner
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT
.SKIP 4

.CENTER
Editor's Corner
.SKIP
.LITERAL

Jim McGlinchey, Managing Editor
Phil Hannay, Production Editor
Bruce Mitchell, Minister of Propaganda

.END LITERAL
.SKIP

.TEST PAGE 15
.SKIP 2

.CENTER
----- Submitting Articles to the Multi-Tasker -----

You are encouraged to submit articles to the Multi-Tasker.  No article is
too big or too small.  They can be serious or funny, and of any techinical
level.

Please submit machine readable media if possible.
Hardcopy submissions are okay if they are fairly short.  
Illustrations and drawings that can be photocopied may accompany
the article.

Most any media is acceptable,
however RX50, RX01/2, TK50 and 1600 BPI magtape are preferred.  All RSX
volume formats are acceptable, and VMS formats are also acceptable on
RX50, TK50 and 1600 BPI magtape.

You can also submit articles through the RSX bulletin board system
at (612) 777-7664.  Kermit the file into your account 
and then send it via MAIL to username MULTITASKER.

The Multi-Tasker begins life as a RUNOFF file, so feel free to submit
your articles in RUNOFF format.  The page size will be 80 columns by
58 lines, with the left margin at 10 and right margin at 75.  Use
literal format for code examples.  If you change margins, use
incremental changes rather than absolute.

Mail your articles and other submissions to the expansive
Multi-Tasker offices:

.LITERAL

Phil Hannay
Cargill Research Bldg
Box 9300
Minneapolis, MN.  55440        tel. 612-475-5433 (daytime)

.END LITERAL

.COMMENT
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT Bulletin Board Notes
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT
.TEST PAGE 15
.SKIP 4
.CENTER
Bulletin Board Notes
.SKIP

The RSX Bulletin Board is online.
Software availability:  RSX MAIL, Kermit, old issues of The
Multi-Tasker and various other items.  Free advice from everybody who
logs in too.

The system can always use additional hardware.  Anything, including
archaic items.  We are still looking for an RL02 drive.  Contact
Jim Bostwick, at 612-475-6264 (daytime) if you wish to donate some equipment.

The BBS number:  612-SPR-PONG (612-777-7664).  This line is
autobaud 110 - 1200 baud.  To request an account, log in with account name
ACCOUNT, password REQUEST.

.COMMENT
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT Chairman's Corner 
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT

.test page 15
.skip 4
.center
Chairman's Corner
.SKIP
.center 
Jim Bostwick
.skiP

No submission this month.

.COMMENT
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT Articles
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT
.PAGE
.CENTER
^&ARTICLES\&
.SKIP 2

.COMMENT
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT Wrong Way BRU, RMD snapshot and other notes
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT
.TEST PAGE 15
.SKIP 4

.c
Wrong Way BRU, RMD snapshot and Other Notes
.s2

.lit

Tony Gandy

SYSTEME Corporation
101 Southhall Lane, Suite 460
Maitland, Fl.   32751

p.s. Maitland is a suburb of Orlando 
        (which is a suburb of Disney World).

.eli


.c
Wrong Way BRU

A while ago, we encountered a BRU problem which has been submitted as an SPR to 
the Colorado Customer Support Center.  Due to the nature of the problem,
I thought is wise to spread the news in the Multitasker.

One of our inexperienced users (maybe Justin's twin sister, Justine?) 
was attempting to backup an RD53
to a TK50 on an 11/53 using BRUSYS.  She used instructions that were hand
written by someone who knew how to run BRUSYS.  Those instructions are
transcribed below:

.lit

BOOT BRUSYS FROM MU:
FIRST DEVICE: DU:
SECOND DEVICE: MU:
RETURN
PUT SCRATCH TAPE IN MU: DRIVE
RUN BRU
BRU>/REW/VER
FROM: DU:
TO: MU:
REBOOT AT BRU>

.eli

No problems, right?  Well, everything went fine until the "BRU>" prompt
appeared.  Instead of entering "/REW/VER", she lost her place and entered 
"RUN BRU" again.  Whereupon, BRU asked for FROM and TO devices.  She
answered with "DU:" and "MU:" respectively.  The TK50 started flashing
it lights just as if all were right with the world and BRU was copying
the disk to the tape.  No such luck.  BRU copied the TAPE TO THE DISK!
Since the TK50 was an old BRU backup of a few files, the resultant disk was
no longer bootable.

The cause of such a disaster is easy to dismiss as resulting from an 
inexperienced person reversing the FROM and TO devices.  And, in fact,
our heroine was so blamed and unjustly accused.  Around the world, 
how many times since the advent of BRUSYS has data been destroyed when a 
backup was attempted and BRU went the wrong way.  Only with luck were we
able to reproduce the failure and demonstrate that it may also occur with
on-line BRU.  

To test your confidence in BRU, try the following:

.lit

  RUN $BRU
  BRU>RUN $BRU
  From:   DU:       (or whatever your disk is)
  To:     MU:       (or whatever your tape is)
  Initialize output disk [Y/N]:  CTRL-Z to avoid madness

.eli

Note that the request about initializing the disk only occurs if BRU wants to 
write to a disk.  Also, in BRUSYS, any operation to a disk initializes it and 
thus no initialize questions appears.  That's why we got bit in the first 
place.  Since BRU and BRUSYS do not properly validate the options input (but 
do reverse the FROM/TO meanings), are there any other RSX utilities which
behave in a strange manner when run interactively.  Good hunting (and pecking) 
and be sure to keep the editor informed.

.s1
.c
***************************************

While I am writing, which I seldom do, I might as well clear my queue of
stuff destined for the Multi-tasker.

.s1
.c
***************************************

.s1
.c
RMD Snapshot

Have you ever wanted to take a snapshot of an RMD display when something
happened, but were foiled by the clear screen caused by a CTRL-Z or CTRL-C?
You can "NOSCROLL" or "Hold Screen", but RMD is still cranking and will
not quit until a CTRL-Z or CTRL-C.  Then, unscrolling clears the screen.

Here is an easy way.  When you see the RMD display of interest, enter CTRL-O.
The display will stay frozen even if a CTRL-Z or CTRL-C is entered.
Of course, the MCR prompt ">" overlays the "T" in "TASK=" and the cursor is
left on the second line of the screen, but you can't have everything.  A 
printer attached to the screen would also give a hardcopy of what you see.

.s1
.c
***************************************

.s1
.c
Hardcopy of BRU Directory

Have you ever been frustrated by looking at a BRU directory go by on your 
screen?  Sure would be nice to put that in a file for editing or whatever.  We 
have a command file to create a BRU directory file but it is highly 
specialized to our applications and not very general.  However, the basic 
sequence is as follows:

.lit

  Install BRU:                    INS $BRU
  Get the backup set names:       BRU /REW/DIR MS:
  Reassign LUN of BRU:            REA BRU 1 CO:
  Start a new console log:        SET /COLOG/LOGFILE=BRUDIR
  Make a directory file:          BRU /REW/DIR/BAC:????? MS:
  Start a new console log:        SET /COLOG/LOGFILE
  Remove BRU:                     REM BRU

.eli

Naturally, your tape is probably different from MS: and you want to work with 
an "IMAGE" backup, but you know the appropriate commands to get a BRU 
directory.  The key is that the directory goes to the console log which is 
LB:[1,4]BRUDIR.LOG.  Now that you have a file to work with, there is no limit 
to the mischief you can get into.

.s1
.c
*************************************

That's all from the land of Mickey Mouse, where the pool needs algaecide,
A/C keeps active tasks from sweating, and non-resident drivers are called
tourists.


.pg
.COMMENT
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT Fall 89 Symposium RSX Q and A Session
.COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.COMMENT
.TEST PAGE 15
.SKIP 4

.C;Fall 89 Symposium RSX Q and A Session
.S2
.c;Transcribed from tape by Phil Hannay
.SK3

.c
Fall 89 RSX Question and Answer Session

The following are some of the questions that were
posed to a panel of various DEC RSX developers 
assembled for the Q and A session.  The answers were given
by the developers with prompting from other knowledgable
users in the audience.

Note how long this session took to come out in print.  And these are
only a the first third of the questions asked.  Just another reason 
to make plans to 
appear in person at the next DECUS symposium and ask your own questions
in real time.

By the way, this session and most others are available on tape from
DECUS shortly after the end of each symposium.

AND NOW WE TAKE YOU TO THE ANEHEIM CONVENTION CENTER IN ANEHEIM, CALIFORNIA,
WHERE THE PROGRAM IS JUST NOW BEGINNING...

.lm +4

.p -4

.S1

Q. Setting an event flag does not by itself cause a significant event.
Do you always need to declare a significant event after setting an
event flag?  If not, when?

A. There is no need for a higher priority task that sets an event flag
to declare a significant event, since the active task list will
be scanned from the blocked higher priority task on down.  In the case
where a lower priority or same priority task is setting the event flag,
you will need to declare a significant event if you want to insure
that another task, of same or higher priority that is waiting for the
flag, will execute immediately.

.S1

Q. Using XX: as the crash device in M+ V4.1 sysgen causes an "invalid device"
message?  Anybody else have problems?

A. No.

.S1

Q. What C compilers are available for RSX?  

A. Talk to Frank Dupchunas PDP-11 languages manager about DEC's possible
field test/release.  Whitesmith C is a commercial third party
offering.  And of course, the DECUS C available 
from the DECUS library.

.S1

Q. Is there any chance that the terminal driver ACD (Ancillary Control Driver)
mechanisms of the TTDRV is clobbering "U.A" flags set by PROENT entry point?
It appears that context is destroyed if characters on the software side
of the typeahead buffer have not been processed with new characters come in
on the receive (RECENT) side.  Any ideas?

A. It seems that there may be a possible problem in this area but nothing
definite.

.S1

Q. Would you consider supporting more than 4 units per MSCP controller.  
You really need more unit numbers in schemes that involve shared disks
in redunant systems.  If I mung DUDRV for more units, it seems to work fine.
Its just sysgen that restricts it to 4.  Is there any reason why I should
not increase the number of units in DUDRV?

A. Not really.  I think its done mostly for sanity sake since you can only have
4 disks online at one time.  But I see your point, that you may want to bring
different disks on and offline for different processors.  We'll have to look
at it, but it sounds like a reasonable suggestion.

.S1

Q. How can a privileged task reliably determine the login UIC associated with
a task that sends a receive data packet to that privileged task?  I know
I can make an inference from the task name of the sender and its assoicated
TI, but its not appropriate in my case.

A. You need to get it out of the UAB of the terminal associated with 
with the sending task.  In the send packet, the TI is already in
the send packet even though it is not
given to the receiving task, so you can look at the packet before 
receiving it (in system state) to retrieve that info.
Look in the DRRAS module in the exec for the message packet 
format.  I believe the TI and UIC of the sender task follow
the message itself.

.S1

Q. With the retirement of the PRO hardware line and the upcoming 
retirement of P/OS, are there any plans to provide PRO products to
the public domain?  Which products?

A. The person you need to talk to isn't here.  You need to talk to
Jeff Slayback.  I believe he is looking at these issues and have
some plans for the products.  He's here at the symposium,
just not here in the room.

.S1

Q. How can you drain a print queue whose device is XOFFed, deleting those
files marked for delete.  I tried starting an unsued terminal port and
assigning it to the queue and it did just what I wanted.  But it wouldn't work
for NL:.  We have a lot of systems that don't have a spare terminal
line.  I don't want to delete the queue because it will not delete
the files to be printed.  I think I can write a different null device driver
that could satisfy the spooler.  Any easier way?

A. I'm not sure why the null device NL: did not work.  It looks alot like
a spoolable device and I'm not sure why the queue manager
would not accept it.  Also, if you set up the queue as "shared", you'll have
a better chance at getting a queue set up to an odd device.
If I were to do that, I'd just write a new despooler task.  I think your
problem could have been cause by the input spool bit and output spool bit
of the device (in the DCB CW1 type flags) that are not in an agreeable state 
(DV.RSP or something like that.)

.S1

Q. We have a lot of remote terminals.  When we log off, the terminal speed
resets to 1200.  Since we run at 9600 baud, its a pain.  Is there anyway to
prevent this other than BYE/H?

A. Yes.  Default answer speed is set when the connection is established.  You
can set the default answer speed to another speed.  You can set it in
sysgen, or use the SET /REMOTE command to set a new default answer
speed (at startup or VMR) after sysgen.  Also, consider setting
the remote ports to AUTOBAUD
to dynamically set the terminal speed upon connection.

.S1

Q. Older DECnet (M+ V2.1) versions cannot talk to later M+ and VMS DECnet.
It is a known problem, and it got to do with some bit not being set or
something like that, with the answer from TSC being that that DEC doesn't 
support the old versions, so one should upgrade.  But we have systems
that will not go to a new version for a variety of reasons.
What are the details on this problem?

A. I'm not going to address the political issues of this.  I will say that
its an incompatiblity with the session version number.  I am working on getting
Colorado to have a patch available to fix the problem.  It is an issue of
the old versions no longer being supported under contract.  However, if
enough users press the issue, it will help.  To clarify, any RSX11M+ DECnet 
version earlier than V3.0 update C will have this problem.  It also includes
11M or P/OS versions of similar vintage.  The logical link won't set up,
so most everything does not work.

.S1

Q. I have a file in directory [0,0] called BACKUP.SYS.  I don't know what it
is, theres nothing in the documentation and its getting larger.  What is it?

A. If you have one, you created it.  BACKUP.SYS in [0,0] is the output of
a BRU image save.

.S1

Q. We have a location that is trying to set the record for the number of
installed tasks.  They are all attached to the same region, and when they
hit 256 installed tasks, the attachment counter rolled over.  If tasks
a removed reducing the attachment counter to zero, the attachment structure
was deleted from pool and the system crash.  The temp fix was to just
install more tasks.  The SPR said that you would look at fixing that problem
in a future release.  By the way, they have now hit the 512 mark.
Do you know if you've look at it yet?

A. Yes, I believe we fixed that in M+ V4.1 or V4.2.

.S1

Q. We are running M+ V3.0.  While printing to a non-DEC printer wide 
carriage daisy wheel printer, the first 10 lines or so come out fine, then
the next 10 lines get messed up or skipped, and then it prints the rest of
the lines normally.  The terminal line is set at 600 baud, but the
printer is slower than that.  Do you know what's happening?

A. You are probably overflowing the buffer of printer since the printer
cannot keep up.  Normally we use XON/XOFF flow control to regulate the
flow of the data, and the printer is not doing this right.  It could
be that flow control is not enabled on the terminal (SET#/SYNCH) or
not enabled on the printer also.
It could also mean the printer does not do XON/XOFF, but uses a different
handshake method (like CTS/RTS hardwiring).
If your printer does not do XON/XOFF, you can sometimes work around this
by sending nonprintable fill characters out on the line which will buy 
you time for the printer to catch up with the printables.  Use the
SET#/VFILL and SET#/HFILL commands to direct terminal driver to 
insert extra nonprintable fill characters in each output line.

.S1

Q. SET HOST/DTE loses it on products such as All-in-1 or VTL or an
editor that send
long lines when I dial out to another system.  Apparently, an 
XOFF is passed to the terminal, which shifts it into "mumble mode",
otherwise known as the graphics character set.  After resetting the 
terminal and presing CTRL-W to refresh the screen, it does it again.  I tried
various permutations and switch settings, and I cannot seem to get around it.
Its when an output line is extra long, like more than 80 columns.
Whats up?

A.  It sounds like somewhere an escape sequence to switch to a different
character set into GR is being lost.  If your getting to the graphics, its
doing the shift-in/shift-out.  If its because the line has gone long, its
probably DTE thats just throwing away the end of it.  (from the audience:
Why don't you just use Kermit, and be done with the DEC supported stuff?)
That's my sentiments too, by the way.  Its also possible that if you set
the buffer length to a larger size before going into DTE, it'll behave.

.S1

Q. Were running an 11/70 under RSX11M V3.2, with 20ma TT ports coming off a 
DZ-11.  We want to hook a modem to one of the ports.  We have a 20ma to RS232
adapter, but just can't seem to get it too work.  Can we set to port to
REMOTE to allow us to connect or what?

A. There are no control lines on 20ma for handshaking with
the modem, so setting the port REMOTE will not work.  It must be left 
NOREMOTE.  As for the modem, it is expecting some handshake signals
before it will answer the phone and respond to a carrier.  Your convertor
may be able to supply those, or you may need to jumper the RS232
connector to bring some signals high - for sure DTR and maybe some
others depending on the modem.  Some modems can "force DTR" as a 
switch setting on the modem, allowing them to answer, even when no 
control lines are coming from the computer (or convertor).
Be advised that in this case, the computer cannot hangup the phone
if you logout after dialin.  You must break carrier by hanging up
the remote modem.  Likewise, watch when you dialout, as you may need
to physically hang up the phone when you are done.

.S1

Q. We have an 11/44.  When we went to V4.0 of RSX11M-PLUS, we encountered
an "exec parity error" when using DECnet.  Our hardware maintenace people
said they thought it was a software error, so we upgraded to V4.1.  However,
the error persists.  What is it and what does it mean?

A. I don't know if you'll like the answer when I'm done.  
The 11/44 and 11/70 type machines have a memory trap for hardware memory
errors.  On an 11/70, there are some known cases where a software error will
mimic the hardware error, but on an 11/44, I know of no such cases.  I suspect
it really is a hardware parity error.  If you have trouble convincing your
maintenance people, try having them move the memory cards into a different
order.  Chances are, the parity error will move to a new location, proving
that it is hardware.  If you move the cards yourself, remember to chance
the addresses and other jumpers to reflect their new order.

.S1

Q. We are using DECservers as a local area net with RSX-11M-PLUS V2.1.  
(This is reverse LAT where sessions are connected to the terminal
server ports that are then attached to desired computer, 
as V2.1 doesn't have LAT.)  When we do a broadcast
ALL on a system, if there is a port that does not have an 
active session connected to it, our
system crashes with pool exhaustion.  What's causing it?

A. It looks like the classic case where MCR and other device are
talking back to eachother until pool runs out.  It may be that the
DECserver port connected to the computer is set with ACCESS LOCAL
or ACCESS DYNAMIC, rather than REMOTE.  In these cases, the broadcast
message will be sent out, causing the terminal server to respond with
a "who are you?" prompt, which then sets up the out of control jabber
between the terminal server and the computer.

.S1

Q. With M+, is there a way to take a full function DECnet system and converting
it to a circuit router or an end node, without having to do a new NETGEN?
Also, we have a number of routing nodes, and it seems the highest numbered
node always becomes the circuit router, which is not what we want.  How is
that determined?  Would the circuit cost affect it?

A. In CETAB.MAC, there is a feature definition macro that contains a parameter
defining if it is a level 2 router, level 1 router, or endnode.  You can
hand edit that parameter.  The routing decision is based on routing priority
and if equal, the higher node number.  So you need to change the
circuit priorities.  The circuit cost does nothing.

.lm -4
.p 5

