To: J3 J3/26-218 From: Malcolm Cohen Subject: Interp F23/028 on NOTIFY WAIT Date: 2026-October-23 ---------------------------------------------------------------------- NUMBER: F23/028 TITLE: Is NOTIFY WAIT permitted everywhere? KEYWORDS: NOTIFY WAIT, CRITICAL, PURE, SIMPLE DEFECT TYPE: Erratum STATUS: J3 consideration in progress REFERENCES: 24-007 QUESTION: NOTIFY WAIT does (a special form of) cross-image synchronisation, but does not appear to have any limit on where it may appear. EVENT WAIT does a similarly special form of synchronisation, but as it is an image control statement, there are limits on its appearance. A reference to a collective subroutine - which also has a certain amount of synchronisation (mostly internal) - is not an image control statement, but has similar limits on its appearance. It would appear to be highly desirable to prohibit NOTIFY WAIT from contexts where the change of deadlock is increased, for example, in a CRITICAL construct. Introducing synchronisation delays into pure procedures would seem to be undesirable, and depending on variable definition on other images is clearly contrary to the design of simple procedures. Should there be some limits on where NOTIFY WAIT may appear, perhaps similar to those on collective subroutine invocations? ANSWER: Yes, NOTIFY WAIT should be prohibited from problematic contexts. An edit is provided to correct this oversight. EDIT to 24-007. [215:11+] 11.6 NOTIFY WAIT statement, after C1178 "A notify-variable... coindexed object." insert new constraint "C1178a A NOTIFY WAIT statement shall not appear in a context where an image control statement is not permitted to appear." ALTERNATIVE EDIT to 24-007. [347:2] 15.7 Pure procedures, constraint C15109, after "image control statement (11.7.1)" insert "or a NOTIFY WAIT statement (11.6)". {This only prohibits NOTIFY WAIT from two problematic contexts.} SUBMITTED BY: Malcolm Cohen HISTORY: 26-nnn m241 Submitted ----------------------------------------------------------------------