Text preview for : 19771121_Mesa_Language_Working_Group_Minutes.pdf part of xerox 19771121 Mesa Language Working Group Minutes xerox sdd memos_1977 19771121_Mesa_Language_Working_Group_Minutes.pdf



Back to : 19771121_Mesa_Language_Wo | Home

XEROX
BUSINESS SYSTEMS
System Development Division
November 21, 1977

To: Distribution
From: Dick Sweet
Subject: Mesa Language Working Group minutes
The Language Working Group met on 15 November, 1977. Monitors were discussed.

Recall the items

1. Independent FORK

2. Return type of a FORK

3. Questions of scope

4. Initialization of Monitors and condition variables
XEROX SDD ARCHIVES
5. Monitor priority I have read and understood
Pages To
6. Condition timeout
-----
Rev1ewer _________ Date
7. Aborts
# of Pages ----
Ref., 7!&:J;~)
8. Interaction with SIGNALS



Item 1. Independent FORK.

Provide some system procedure to say "detatch" on the process. It could set the PSB so that
joining would either fail or return immediately, or whatever is right.


Item 2. Return type of a FORK construct.

If pr: PROCEDURE [inrec] RETURNS [outrec] is forked, the
value of the FORK construct is a
PROCEDURE RETURNS [outrec]; It could be internally be an
indirect link into the PSB (with
suitable alignment) so that aborting a process would be easier.


Items 5 and 6. Monitor Priority and Condition Timeout.

If simple (i.e. constant) default parameters are implemented for record declarations, then the
priority or timeout can public fields and can be given in the declaration. This would
require a change to the compiler to allow constructors for records with private fields.
Otherwise, all monitors are created with some default priority and a system procedure is
provided to set it otherwise. The same is presumably true for condition timeouts
2

Item 7. Aborts.

Not part of the language.


Item 8. Interaction with SIGNALS.

After considerable discussion, it was decided that one would have to explicitly catch UNWIND
in the monitor if it was thought possible that one could happen. The compiler would help
by generating an "exit monitor" at the end of an UNWIND catchphrase within an entry
procedure. On the subject of detecting the unwinding of a monitor without catching the
signal, Butler suggested a sledge-hammer check of a bit in the code segment that says that
there are some entry procedures in this segment.