From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,846495853a6e0235,start X-Google-Attributes: gid103376,public From: Tom Moran Subject: delay 0.0 Date: 1997/11/01 Message-ID: <345B841F.293E@bix.com>#1/1 X-Deja-AN: 287277997 Organization: InterNex Information Services 1-800-595-3333 Reply-To: TMoran@bix.com Newsgroups: comp.lang.ada Date: 1997-11-01T00:00:00+00:00 List-Id: >>From a discussion on chat@gnat.com I conclude; delay 0.0; may, or may not, cause a task switch. If the compiler implements Annex D and the program includes a Pragma Task_Dispatching_Poicy (FIFO_Within_Priorities); then a delay 0.0; should definitely cause a task switch (assuming, obviously, there's another task ready to switch to). The compiler should document a value D such that "delay D;" (or greater than D) will cause blocking and thus task switching. But if the time resolution is poor (eg the 55ms common on PCs) the task may block that long even if D is much less. Two questions: Is my understanding correct? Are there compilers that don't task switch on "delay 0.0;"?