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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,71b19e01eae3a390 X-Google-Attributes: gid103376,public From: rracine@draper.com (Roger Racine) Subject: Re: delay until and GNAT Date: 1999/05/06 Message-ID: #1/1 X-Deja-AN: 474716337 Sender: nntp@news.draper.com (NNTP Master) References: Organization: Draper Laboratory Newsgroups: comp.lang.ada Date: 1999-05-06T00:00:00+00:00 List-Id: > Does someone know the upper bound on the lateness of delay until >and delay relative > for Gnat implement. on Win95 , WinNT or Linux. > Thanks. There have been some replies to this, but let me rephrase the question, and then answer it, as best I can. My guess is that he really wants to know the following: If he is the only user on the system and is running his program in the foreground with nothing else running (except OS processes), and his highest priority task executes a "delay" or "delay until" statement, what is the upper bound on the actual delay, for some processor speed? The three platforms you mentioned are not real-time operating systems, and therefore have some possible problems with this metric. I have read technical reports that state that Windows NT and Linux each have system calls that, if called by a low-priority task or an OS process, have "unbounded" delays associated with them. I have seen nothing on Win95. Therefore, even though, normally the delay on the Windows platforms will be very close to the "clock tick" time (0.01 seconds?), every once in a great while, even if the machine is not connected to a network, it might take much longer. On Linux, it depends on the runtime system you are using. If you use the FSU runtime, there are even more possibilities of long blocking times, since every system call will block all tasks. Using the "native" version, priorities do not work correctly unless you run as root (Linux threads are implemented as each thread being a separate process, and normal users are not allowed to run with multiple priorities). And even running as root, ACT can not guarantee correct adherance to the Ada standard. Please note that all of the problems are associated with the operating system(s), not GNAT. The bottom line is: if you want to use multitasking, in any language, and want an upper bound on timing, use a real-time operating system. That is one (more) interpretation of what was asked. Roger Racine