c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

[ct-bot] Bug in bot_cancel_behaviour

Absender: Menzel, Frank IT-OS
Datum: Mi, 18.05.2011 14:52:02


Hallo Timo,
bin hier auf einen Bug gestoßen.
Das Verhalten entfernt ein anderes Verhalten aus der internen Überwachungsliste, sobald dieses nicht mehr den Status BEHAVIOUR_ACTIVE hat. Wenn aber das zu überwachende Verhalten selbst Unterverhalten (bot_turn ..) aufruft, dann wird das Hauptverhalten selbst  temporär inaktiviert. Genau dann aber fliegt es sofort  aus der Überwachungsliste raus und läuft endlos weiter. Es darf nur rausfliegen, wenn es nicht ein anderes Unterverhalten gerade gestartet hat.
Ich habe die entsprechende Zeile dafür bei mir erweitert (Vergleich mit subresult) und scheint so des Rätsels Lösung zu sein:

((jobs[i].beh->active != BEHAVIOUR_ACTIVE && jobs[i].beh->subResult != BEHAVIOUR_SUBRUNNING) || jobs[i].cond == NULL) {

Gruß, Frank


________________________________
Confidentiality note:
The information in this email and any attachment may contain confidential and proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates and may be privileged or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any review, reliance or distribution by others or forwarding without express permission is strictly prohibited and may cause liability. In case you have received this message due to an error in transmission, we kindly ask you to notify the sender immediately and to delete this email and any attachment from your system.