🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.sys.amiga.tech
Article #291

Re: Timer-Problem

#291
From: Michael van Elst
Date: Sun, 20 Aug 1995 10:45
41 lines
1461 bytes
Thomas_Boerkel@amiga_inside2.schiele-ct.de (Thomas Boerkel) writes:

>Das Problem ist nun, dass nach AbortIO() und WaitIO()
>das Timer-Signalflag gesetzt wird. D.h. beim naechsten
>Durchlauf ist der Timer sofort fertig. :-(

Das kann passieren. WaitIO() loescht das Flag nur, wenn
es wirklich Wait() aufruft. Wenn der Request schon
fertig ist, dann kommt WaitIO() sofort zurueck.

>Ich behelfe mir jetzt mir SetSignal(), aber da muesste
>es auch eine andere Loesung geben.

Die andere Loesung ist eine Schleife und die Verwendung
von CheckIO.

while (1) {
	sigrcvd = Wait(serialmask | timermask);
	if (CheckIO(serialIO)) {
		WaitIO(timerIO);
		AbortIO(timerIO);
		WaitIO(timerIO);
		break;
	}
	if (CheckIO(timerIO)) {
		WaitIO(timerIO);
		AbortIO(serialIO);
		WaitIO(serialIO);
		break;
	}
}

Wenn das Ganze Teil einer Event-Loop ist, dann hast Du
die Schleife schon programmiert. :)

Salut,
-- 
                                Michael van Elst

Internet: mlelstv@serpens.rhein.de
                                "A potential Snark may lurk in every tree."
Technical Details
Message-ID: <4173p1$lfp@serpens.rhein.de>
Path: arc1-ca.pugleaf.net!comma.rhein.de!serpens!not-for-mail
References: <MSGID_2=3A2476=2F541.0=40fidonet_7338E202@fidonet.org>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!comma.rhein.de!serpens!not-for-mail
From: mlelstv@serpens.rhein.de (Michael van Elst)
Newsgroups: de.comp.sys.amiga.tech
Subject: Re: Timer-Problem
Date: 20 Aug 1995 12:45:53 +0200
Organization: dis-
Message-ID: <4173p1$lfp@serpens.rhein.de>
References: <MSGID_2=3A2476=2F541.0=40fidonet_7338E202@fidonet.org>
NNTP-Posting-Host: serpens.rhein.de