Quote
Leteszteltem, ha egy helyre teszed a reload-ot a megszakítással, akkor már megtörtént az LPT reload, amikor jön a megszakítás.
Hát azt nem tom hogy tesztelted le, azt meg pláne nem, hogy hihetünk -e vajon az emunak esetleg ilyen dolgok időzítése kapcsán is,
de ha így van, akkor most összetörted szívem ...
Bár végülis ha belegondolunk ... valami szinkron mindíg lesz ... tehát idő az mindíg lesz átírni az alsó(/felső) borderek alatt ... az meg hogy en a borderre is úgy gondolok, mint a "kép része mindaddig, amíg át nem váltódott az LPT a NICK betöltése által" az nem annyira számít ...
Csak nagyon szélsőséges esetben lenne értelme annak amit mondok, hogy a teljes LPT is az "aktuális képünknek" számítson, és igenis meg kell várni a tényleges teljes kirajzolást mielőtt bonthatjuk a képet, ez a szélsőséges eset pedig az, hogyha magát az LPT -t is "törölni", újragenerálni akarnám.
Tehát most akkor valóban megtehetjük, hogy a hasznos kép tartalmát már töröljük a border(ek) alatt,
de magát a képernyőn még aktuálisan látszódó LPT -t még nem kezdhetjük letörölni, és újragenerálni,
mert azt TÉNYLEGESEN csak akkor tehetjük meg, ahogy először gondoltam, vagyis a NICK LPT újratöltés után,
amiről viszont akkor most NINCS jelzésünk, hiszen a jelző megszak már elsült a border alatt, és felhasználtuk a cím beírására ...
Na az ilyen esetekhez viszont elvi megoldást most nem is látok ...
Ilyenkor 22 -es csapdája van. Ahhoz hogy átírhassam az LPT címet, ahhoz tudnom kell hogy biztonságos időpillanat van -e éppen. Ehhez más eszközöm nincs, csak hogy megszakítást kell kapjak. Ezért várok a megszakra, de a megszak már csak az UTÁN fog megérkezni hogy a NICK újratöltötte a RÉGI LPT címet, hisz nem írtam bele az újat, mert vártam a biztonságos pillanatra.
A megszak meg ugye a reload mellé van téve, mert a teljes LPT ki kell rajzolódjon, mielőtt újra lenne generálva.
Ezt az ellentmondást sikeresen feloldja a borderes módszer a korábbi esetben, ahol ezt alkalmazni lehet.
De ha jól gondoltam végig, akkor ezt a problémát ebben a TELJESEN ÁLTALÁNOS / LPT ÚJRAGENERÁLÓS esetben feloldani nem lehet. Tehát van egy csomó kerülő megoldásunk, amik közül választanunk lehet és/vagy kell, de NINCS teljesen általános módszer. Trükközni, hekkelni, kompromisszumokat kötni kell ahhoz, hogy biztosak lehessünk abban, hogy a NICK egyszer csak nem fog elszállni az egyébként teljesen korrekt programunk mellett ...
( Tényleg ilyen nehéz lehetett volna megoldani, hogy éppúgy mint a forced reload -ot, jelezni tudjam a NICK -nek, hogy én most mindkét portot érintő címmódosítást hajtok végre ? )
Sztm. ez durva ... (Ha jól látom át. Ilyenkor szokott jönni valaki, és egy 117. eddig a gondolkodásba be nem vont körülménnyel értelmét veszi a problémának.
)