<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Console'; font-size:12pt; font-weight:400; font-style:normal;">Sorry for the pause - was out of the office<br>
Continuing the theme:<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Manuel Coutinho wrote:<br>
>Not meaning to be a pain but, you could<br>
>solve this by making the urgent task non-preemptive or making it the highest<br>
>priority thread. In either of these ways, no other threads will be able to <br>
>run unless the urgent task relinquishes the CPU.<br>
Well, i would like to repeat the goal:<br>
When some event occurs, I need to freeze the processing regardless what is <br>
happening in all I/O processes, collect the snapshot" of the situation, store <br>
it on flash cassette. To tell the truth, now(!) I am not required to continue <br>
normal processing, but I know my customer - tomorrow I will be...:-)<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>The problem is, that writing on the flash cassette routines use interrupts and <br>
events, therefore simple priority + non-preemption does not solve the problem.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>-- <br>
Dr.Leon M.Pollak<br>
Director<br>
PLR Information Systems Ltd.<br>
Tel.:+972-98657670 | POB 8130, H'Aomanut 9,<br>
Fax.:+972-98657621 | Poleg Industrial Zone,<br>
Mob.:+972-544739246 | Netanya, 42160, Israel.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p></body></html>