WAIT EVENT
等待事件发生。
动态事务路由的注意事项: 使用此命令可能会创建对动态事务路由的使用产生负面影响的事务间亲缘关系。 有关事务亲缘关系的更多信息,请参阅 亲缘关系 。
描述
WAIT EVENT 使任务与同一任务或另一任务启动的事件的完成同步。 该事件通常是在到期时为响应 POST 命令而提供的计时器事件控制区域的发布,如 POST中所述。 WAIT EVENT 命令提供了一种直接将控制权交给其他任务的方法,直到正在等待的事件完成为止。
CICS® 包含由 CICS 传递给 WAIT 设施的 ECBLIST 中当前任务的 WAIT EVENT 命令在工作耗尽时传递给 WAIT 设施的所有 ECB 的地址。
给定的欧洲央行可能不会同时等待多个任务。 如果不遵守这一规则,且CICS在 MVS WAIT 上传递的 ECBLIST 包含重复的 ECB 地址,MVS 将中止CICS。
确保异步跨内存发布 (在非用户自己的地址空间中发布事件完成) 的使用频率不会高于需要的频率。 大量交叉内存柱会消耗过多的系统资源。
选项
- ECADDR (ptr-value)
- 指定在恢复任务活动之前必须发布的计时器事件控制区域的地址。
- 名称 (name)
- 指定当任务发出 WAIT EVENT 并且是 INQUIRE TASK 命令或 CEMT INQ TASK 的主题时,在 SUSPENDVALUE 或 HVALUE 中返回的符号名称 1-8 字母数字字符。
条件
- 16 INVREQ
- RESP2 值:
- 2
- ECB 地址为空指针 (X'00000000 ') 或 (X'FF000000')。
- 3
- 对于以 24 位方式执行的程序,指定的事件控制区域地址高于 16MB 线。
- 4
- 事件控制区域地址未在全字边界上对齐。
- 6
- 在 WAIT EVENT 上指定的 timer-event 控制区域位于用户键任务生存期存储器中,并且不可供另一个事务访问。 仅当计时器事件控制区域的存储器不是通过 POST 命令获取的,并且用于在事件完成时通过其他任务发布为 ECB 时,才会发生此情况。注: CICS 从用户密钥存储器中的共享子池获取计时器事件控制区域的存储器,以响应 POST 命令 (可与 WAIT EVENT 命令结合使用)。 这将确保计时器事件控制区域位于共享存储器中,并且在被后续 WAIT EVENT 命令引用时,不会因 INVREQ 而失败。
缺省操作: 异常终止任务。
示例
以下示例显示了如何暂挂任务处理,直到发布指定的事件控制区域为止:
EXEC CICS WAIT EVENT ECADDR(PVALUE)
