- 1.6-rc5: Background multitasking

From: Oberon microsystems AG, Tech-Support <"Oberon>
Date: Sat, 26 May 2007 13:18:38 +0200

----boundary-LibPST-iamunique-2127058139_-_-
Content-type: text/plain

Dear Alexander,

thanks for your observation. We intentionally decided not to apply
Marco's entire patch to HostPorts.Rider.Input: We included the statement
WinApi.Sleep(1) but we deliberately left out the proposed call to
Services.actionHook.Step.

The reason for this is that we did not want to break the contract for
objects of type Services.Action as specified in the documentation for
the module Services: "Actions are objects whose Do procedures are called
in a deferred way, when the system is idle again." Calling
Services.actionHook.Step from within HostPorts.Rider.Input would break
this since it leads to actions being executed while the system is not
idle. This could break all sorts of assumptions on which actions should
be able to rely on.

Yes, freezing background tasks while polling for input is an annoyance.
But for the above mentioned reason we would rather live with the problem
than complicating the programming model for Services.Actions. In my
opinion, the real solution would be to attack the problem's root cause
by eliminating the polling loops. This would lead to complete inversion
of control and thus to smoother cooperative multitasking.

with best regards,
Marc


> -----Original Message-----
> From: blackbox{([at]})nowhere.xy
> Behalf Of Alexander Iljin
> Sent: Samstag, 26. Mai 2007 09:12
> To: Blackbox
> Subject: [BlackBox] - 1.6-rc5: Background multitasking
>
> Hello, BlackBox developers!
>
> I see the following lines in the BlackBox 1.6-rc5 changelog:
>
> Host/Mod/Ports
> - 20060325, mc, Rider.Input changed for the benefit of
> background task response.
>
> But in fact Marco Ciot's contribution is not included. It
> would be if HostPorts.Rider.Input would contain a call to
> Services.actionHook.Step, but it does not. The background
> tasks freeze while user holds a mouse button or is otherwise
> stuck in an Input-related loop.
> I've created a simple module that allows to test that. Here it is:
>
> StdCoder.Decode ..,,
> ..UV....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
>
> hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLL
> CJuyKtYcZRiX
>
> 7.2.s,MtD.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sId
> vPZntgcghghZ
>
> cZRC8T0E.kNS.H.Lt,2.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708
> T,U..w.gu4.,
>
> sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.zC,w,wu2E.0.oZ,U00.bnUGL
> u8ro8quGrmCL
>
> WKqtE0E.kN0.,6.I16.M.6.JFyuv.U.2m,.T10.uFq8Ua5V0cUXDF9fR5uPPPP
> 1fP7PNZvQRtI
>
> dHf.2UlbcZpC.c9h0E.8z,U.EEE.E1U.M3MK1.,6.o1.8T5U.E8E.E1U.M3seM
> .3gwP.,6..EB
>
> U.U,2.I3.0ES9.I.cTM.9.e3Y.2U5Vz5ZegVI3hdRiUghjZgpZhZ3Ychgg3in3
> YohgnZiUIcgB
>
> gXRh0xhs3YWBgXRhbJijhiiZgUghpZhoBhoBgnRhdphbpZUYej3YnZiVJio3Yo
> hgnNORvNN769
>
> 9S9vMf9R996d9O996BvPN9PTvRHfPD965vPP1cCPc.3uNPPRN9RRtIdPMgVBAf
> jhiUwidZhg3Y
>
> nhgZ3YnhglhiZphoBhVZhUohphhWhgmRiUAgk3iZBgmBhixgUAhi3Yo3hZ7HTv
> N,tRHfP7vPj9
>
> 69fR9fQn96bPN5vPR9NR76RuPj96VfQ9vQb961fP796FvPN9N,NMRPS,NPTPRb
> PN,dMf9RdvPR
>
> 961fPnvRFPNZPN,tRH9RFPOR96Ahn7NTvMq40mvaKrUaxhm3YnhgqhgmBgg3Yn
> hgXVnpZUAda3
>
> Ytxhp3YnhgZ7RFPMd96d9O9HrKrq.LPN99Q,NMV9Q..9Ha69,7RFHr0Gu663PM
> 51oBq4a4.jvP
>
> ZvOb961vQ,NOd96b9OTPRN9NRN1P6JT96bnr0LEGLoa4P1YZUggs,kmoA.QA.U
> b,RVjN1JN8PM
>
> HT8Ff8H9863uNPPRQbBgV7AdB3eDJeI3YHhgmpidRgZRig2YAxhbRbBgV7YeN3
> e3hV7AV,RgoB
>
> hjphUgbU2eDBdCZe3JeUYeD3YGhc1xdGZcU2ZHhgm,umUCKua4H769eH7uCPM1
> OpU8p4ak2CKr
>
> GLR0mYuIeKoXKIdin4ak24KR0mUCKua4rN1P6IZuH5OF7OJZOF,781fC,NEUd6
> FTP9,78HtCPc
>
> E9uFHeHPM0HeH5885fPdP8rN1H6HTvNRNGR9RFtMR9R2YAxhbpZAphcAZvg,bO
> NZfRU2xhABgo
>
> hgm3ZVZZUQeZ,6JHvMLvQFN8LtI9fQh1IiZRijZhpZidxhiN19eH7867uPrN1P
> 6I.sIdPMZHJ0
>
> GIamRI6UXpB,dCv76VtCPM0ROFj881P8rN1H..70..EryqvamRqkWuIWQeoBAi
> n4qEc..T9QJ7
>
> 6F,.Cpm.IeZhhjpiZBcXZC2ZVBZvkk0GRqHEuoYmo4KIbG2yavgVBgcCFVSqqE
> L8ssHpmsETfP
>
> dfQT9PNPNZvQRtIQcoJigZcZRiX3Ulb8..umVyKrG5EWKqtCK.Q6AAELUm,..U
> np3.6F6.ZD,6
>
> .636.M00.,..1cUXDJ9XGhighgmRiiQ88pum470,Mwd0UnpZGhighA70,cw5.,
> 6.QJw.0kFF.0
>
> U18J.QiiQ8CJuaLqKKWKqt2Ul1.RVtZBE.8z1U..2,I92U.E,,.RNEd1YCG259
> .G.0..676.16
>
> .6.665hK2.,6TxR.eKZM.M.6.,U0KyB.,..e,2.A.c8U.E.0t.U..61lbAUgQn
> Pt0lLU8ssHor
> kmsQCor..c2E..U6U..HE.6RvuQ0mHCe.az86Utj0GTkWaUKZM03b,...
> --- end of encoding ---
>
> ---===---
> Alexander
>
> --- BlackBox
> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>
>

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy


----boundary-LibPST-iamunique-2127058139_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgQWxleGFuZGVyLFxwYXINClxwYXINCnRo
YW5rcyBmb3IgeW91ciBvYnNlcnZhdGlvbi4gV2UgaW50ZW50aW9uYWxseSBkZWNpZGVkIG5vdCB0
byBhcHBseVxwYXINCk1hcmNvJ3MgZW50aXJlIHBhdGNoIHRvIEhvc3RQb3J0cy5SaWRlci5JbnB1
dDogV2UgaW5jbHVkZWQgdGhlIHN0YXRlbWVudFxwYXINCldpbkFwaS5TbGVlcCgxKSBidXQgd2Ug
ZGVsaWJlcmF0ZWx5IGxlZnQgb3V0IHRoZSBwcm9wb3NlZCBjYWxsIHRvXHBhcg0KU2VydmljZXMu
YWN0aW9uSG9vay5TdGVwLlxwYXINClxwYXINClRoZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCB3
ZSBkaWQgbm90IHdhbnQgdG8gYnJlYWsgdGhlIGNvbnRyYWN0IGZvclxwYXINCm9iamVjdHMgb2Yg
dHlwZSBTZXJ2aWNlcy5BY3Rpb24gYXMgc3BlY2lmaWVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGZv
clxwYXINCnRoZSBtb2R1bGUgU2VydmljZXM6ICJBY3Rpb25zIGFyZSBvYmplY3RzIHdob3NlIERv
IHByb2NlZHVyZXMgYXJlIGNhbGxlZFxwYXINCmluIGEgZGVmZXJyZWQgd2F5LCB3aGVuIHRoZSBz
eXN0ZW0gaXMgaWRsZSBhZ2Fpbi4iIENhbGxpbmdccGFyDQpTZXJ2aWNlcy5hY3Rpb25Ib29rLlN0
ZXAgZnJvbSB3aXRoaW4gSG9zdFBvcnRzLlJpZGVyLklucHV0IHdvdWxkIGJyZWFrXHBhcg0KdGhp
cyBzaW5jZSBpdCBsZWFkcyB0byBhY3Rpb25zIGJlaW5nIGV4ZWN1dGVkIHdoaWxlIHRoZSBzeXN0
ZW0gaXMgbm90XHBhcg0KaWRsZS4gVGhpcyBjb3VsZCBicmVhayBhbGwgc29ydHMgb2YgYXNzdW1w
dGlvbnMgb24gd2hpY2ggYWN0aW9ucyBzaG91bGRccGFyDQpiZSBhYmxlIHRvIHJlbHkgb24uXHBh
cg0KXHBhcg0KWWVzLCBmcmVlemluZyBiYWNrZ3JvdW5kIHRhc2tzIHdoaWxlIHBvbGxpbmcgZm9y
IGlucHV0IGlzIGFuIGFubm95YW5jZS5ccGFyDQpCdXQgZm9yIHRoZSBhYm92ZSBtZW50aW9uZWQg
cmVhc29uIHdlIHdvdWxkIHJhdGhlciBsaXZlIHdpdGggdGhlIHByb2JsZW1ccGFyDQp0aGFuIGNv
bXBsaWNhdGluZyB0aGUgcHJvZ3JhbW1pbmcgbW9kZWwgZm9yIFNlcnZpY2VzLkFjdGlvbnMuIElu
IG15XHBhcg0Kb3BpbmlvbiwgdGhlIHJlYWwgc29sdXRpb24gd291bGQgYmUgdG8gYXR0YWNrIHRo
ZSBwcm9ibGVtJ3Mgcm9vdCBjYXVzZVxwYXINCmJ5IGVsaW1pbmF0aW5nIHRoZSBwb2xsaW5nIGxv
b3BzLiBUaGlzIHdvdWxkIGxlYWQgdG8gY29tcGxldGUgaW52ZXJzaW9uXHBhcg0Kb2YgY29udHJv
bCBhbmQgdGh1cyB0byBzbW9vdGhlciBjb29wZXJhdGl2ZSBtdWx0aXRhc2tpbmcuXHBhcg0KXHBh
cg0Kd2l0aCBiZXN0IHJlZ2FyZHMsXHBhcg0KTWFyY1xwYXINClxwYXINClxwYXINCj4gLS0tLS1P
cmlnaW5hbCBNZXNzYWdlLS0tLS1ccGFyDQo+IEZyb206IGJsYWNrYm94QG9iZXJvbi5jaCBbbWFp
bHRvOmJsYWNrYm94QG9iZXJvbi5jaF0gT24gXHBhcg0KPiBCZWhhbGYgT2YgQWxleGFuZGVyIEls
amluXHBhcg0KPiBTZW50OiBTYW1zdGFnLCAyNi4gTWFpIDIwMDcgMDk6MTJccGFyDQo+IFRvOiBC
bGFja2JveFxwYXINCj4gU3ViamVjdDogW0JsYWNrQm94XSAtIDEuNi1yYzU6IEJhY2tncm91bmQg
bXVsdGl0YXNraW5nXHBhcg0KPiBccGFyDQo+IEhlbGxvLCBCbGFja0JveCBkZXZlbG9wZXJzIVxw
YXINCj4gXHBhcg0KPiAgIEkgc2VlIHRoZSBmb2xsb3dpbmcgbGluZXMgaW4gdGhlIEJsYWNrQm94
IDEuNi1yYzUgY2hhbmdlbG9nOlxwYXINCj4gXHBhcg0KPiBIb3N0L01vZC9Qb3J0c1xwYXINCj4g
LSAyMDA2MDMyNSwgbWMsIFJpZGVyLklucHV0IGNoYW5nZWQgZm9yIHRoZSBiZW5lZml0IG9mIFxw
YXINCj4gYmFja2dyb3VuZCB0YXNrIHJlc3BvbnNlLlxwYXINCj4gXHBhcg0KPiAgIEJ1dCBpbiBm
YWN0IE1hcmNvIENpb3QncyBjb250cmlidXRpb24gaXMgbm90IGluY2x1ZGVkLiBJdCBccGFyDQo+
IHdvdWxkIGJlIGlmIEhvc3RQb3J0cy5SaWRlci5JbnB1dCB3b3VsZCBjb250YWluIGEgY2FsbCB0
byBccGFyDQo+IFNlcnZpY2VzLmFjdGlvbkhvb2suU3RlcCwgYnV0IGl0IGRvZXMgbm90LiBUaGUg
YmFja2dyb3VuZCBccGFyDQo+IHRhc2tzIGZyZWV6ZSB3aGlsZSB1c2VyIGhvbGRzIGEgbW91c2Ug
YnV0dG9uIG9yIGlzIG90aGVyd2lzZSBccGFyDQo+IHN0dWNrIGluIGFuIElucHV0LXJlbGF0ZWQg
bG9vcC5ccGFyDQo+ICAgSSd2ZSBjcmVhdGVkIGEgc2ltcGxlIG1vZHVsZSB0aGF0IGFsbG93cyB0
byB0ZXN0IHRoYXQuIEhlcmUgaXQgaXM6XHBhcg0KPiBccGFyDQo+IFN0ZENvZGVyLkRlY29kZSAu
LiwsIFxwYXINCj4gLi5VVi4uLi4zUXc3dVA1UFJQUE5SOVJiZjliOFI3OUZUdk1mMUdvbUNybEF5
MnhoWCxDYjJ4XHBhcg0KPiAgXHBhcg0KPiBoWGhDNkZVMXhoaVppVkJoaWhnbVJpaW9lZGhnclpj
WlJpWEZmYXFtU3J0dUdmYTQ3MDB6ZEdycjhybUNMTFxwYXINCj4gQ0p1eUt0WWNaUmlYXHBhcg0K
PiAgXHBhcg0KPiA3LjIucyxNdEQuLDYuNVF3N3VQNTFRQ1B1UDdQTk45Rjl2UUF5MXhCLmdkaixV
QnhoWWhBYmY5UDBHMnNJZFxwYXINCj4gdlBabnRnY2doZ2haXHBhcg0KPiAgXHBhcg0KPiBjWlJD
OFQwRS5rTlMuSC5MdCwyLixVMDhKOTlTZGZKSFBOanZRQ0p1R0tmYXFtWTZNd2RPTmwxUUNoMDcw
OFxwYXINCj4gVCxVLi53Lmd1NC4sXHBhcg0KPiAgXHBhcg0KPiBzVUdwbVdiQnhoWWhBYm5kTUhU
OU5ZNk13LnNRcTJZNmN3Qi4wLnpDLHcsd3UyRS4wLm9aLFUwMC5iblVHTFxwYXINCj4gdThybzhx
dUdybUNMXHBhcg0KPiAgXHBhcg0KPiBXS3F0RTBFLmtOMC4sNi5JMTYuTS42LkpGeXV2LlUuMm0s
LlQxMC51RnE4VWE1VjBjVVhERjlmUjV1UFBQUFxwYXINCj4gMWZQN1BOWnZRUnRJXHBhcg0KPiAg
XHBhcg0KPiBkSGYuMlVsYmNacEMuYzloMEUuOHosVS5FRUUuRTFVLk0zTUsxLiw2Lm8xLjhUNVUu
RThFLkUxVS5NM3NlTVxwYXINCj4gLjNnd1AuLDYuLkVCXHBhcg0KPiAgXHBhcg0KPiBVLlUsMi5J
My4wRVM5LkkuY1RNLjkuZTNZLjJVNVZ6NVplZ1ZJM2hkUmlVZ2hqWmdwWmhaM1ljaGdnM2luM1xw
YXINCj4gWW9oZ25aaVVJY2dCXHBhcg0KPiAgXHBhcg0KPiBnWFJoMHhoczNZV0JnWFJoYkppamhp
aVpnVWdocFpob0Job0JnblJoZHBoYnBaVVllajNZblppVkppbzNZb1xwYXINCj4gaGduTk9Sdk5O
NzY5XHBhcg0KPiAgXHBhcg0KPiA5Uzl2TWY5Ujk5NmQ5Tzk5NkJ2UE45UFR2UkhmUEQ5NjV2UFAx
Y0NQYy4zdU5QUFJOOVJSdElkUE1nVkJBZlxwYXINCj4gamhpVXdpZFpoZzNZXHBhcg0KPiAgXHBh
cg0KPiBuaGdaM1luaGdsaGlacGhvQmhWWmhVb2hwaGhXaGdtUmlVQWdrM2laQmdtQmhpeGdVQWhp
M1lvM2haN0hUdlxwYXINCj4gTix0UkhmUDd2UGo5XHBhcg0KPiAgXHBhcg0KPiA2OWZSOWZRbjk2
YlBONXZQUjlOUjc2UnVQajk2VmZROXZRYjk2MWZQNzk2RnZQTjlOLE5NUlBTLE5QVFBSYlxwYXIN
Cj4gUE4sZE1mOVJkdlBSXHBhcg0KPiAgXHBhcg0KPiA5NjFmUG52UkZQTlpQTix0Ukg5UkZQT1I5
NkFobjdOVHZNcTQwbXZhS3JVYXhobTNZbmhncWhnbUJnZzNZblxwYXINCj4gaGdYVm5wWlVBZGEz
XHBhcg0KPiAgXHBhcg0KPiBZdHhocDNZbmhnWjdSRlBNZDk2ZDlPOUhyS3JxLkxQTjk5USxOTVY5
US4uOUhhNjksN1JGSHIwR3U2NjNQTVxwYXINCj4gNTFvQnE0YTQuanZQXHBhcg0KPiAgXHBhcg0K
PiBadk9iOTYxdlEsTk9kOTZiOU9UUFJOOU5STjFQNkpUOTZibnIwTEVHTG9hNFAxWVpVZ2dzLGtt
b0EuUUEuVVxwYXINCj4gYixSVmpOMUpOOFBNXHBhcg0KPiAgXHBhcg0KPiBIVDhGZjhIOTg2M3VO
UFBSUWJCZ1Y3QWRCM2VESmVJM1lIaGdtcGlkUmdaUmlnMllBeGhiUmJCZ1Y3WWVOM1xwYXINCj4g
ZTNoVjdBVixSZ29CXHBhcg0KPiAgXHBhcg0KPiBoanBoVWdiVTJlREJkQ1plM0plVVllRDNZR2hj
MXhkR1pjVTJaSGhnbSx1bVVDS3VhNEg3NjllSDd1Q1BNMVxwYXINCj4gT3BVOHA0YWsyQ0tyXHBh
cg0KPiAgXHBhcg0KPiBHTFIwbVl1SWVLb1hLSWRpbjRhazI0S1IwbVVDS3VhNHJOMVA2SVp1SDVP
RjdPSlpPRiw3ODFmQyxORVVkNlxwYXINCj4gRlRQOSw3OEh0Q1BjXHBhcg0KPiAgXHBhcg0KPiBF
OXVGSGVIUE0wSGVINTg4NWZQZFA4ck4xSDZIVHZOUk5HUjlSRnRNUjlSMllBeGhicFpBcGhjQVp2
ZyxiT1xwYXINCj4gTlpmUlUyeGhBQmdvXHBhcg0KPiAgXHBhcg0KPiBoZ20zWlZaWlVRZVosNkpI
dk1MdlFGTjhMdEk5ZlFoMUlpWlJpalpocFppZHhoaU4xOWVINzg2N3VQck4xUFxwYXINCj4gNkku
c0lkUE1aSEowXHBhcg0KPiAgXHBhcg0KPiBHSWFtUkk2VVhwQixkQ3Y3NlZ0Q1BNMFJPRmo4ODFQ
OHJOMUguLjcwLi5FcnlxdmFtUnFrV3VJV1Flb0JBaVxwYXINCj4gbjRxRWMuLlQ5UUo3XHBhcg0K
PiAgXHBhcg0KPiA2RiwuQ3BtLkllWmhoanBpWkJjWFpDMlpWQlp2a2swR1JxSEV1b1ltbzRLSWJH
MnlhdmdWQmdjQ0ZWU3FxRVxwYXINCj4gTDhzc0hwbXNFVGZQXHBhcg0KPiAgXHBhcg0KPiBkZlFU
OVBOUE5adlFSdElRY29KaWdaY1pSaVgzVWxiOC4udW1WeUtyRzVFV0txdENLLlE2QUFFTFVtLC4u
VVxwYXINCj4gbnAzLjZGNi5aRCw2XHBhcg0KPiAgXHBhcg0KPiAuNjM2Lk0wMC4sLi4xY1VYREo5
WEdoaWdoZ21SaWlRODhwdW00NzAsTXdkMFVucFpHaGlnaEE3MCxjdzUuLFxwYXINCj4gNi5RSncu
MGtGRi4wXHBhcg0KPiAgXHBhcg0KPiBVMThKLlFpaVE4Q0p1YUxxS0tXS3F0MlVsMS5SVnRaQkUu
OHoxVS4uMixJOTJVLkUsLC5STkVkMVlDRzI1OVxwYXINCj4gLkcuMC4uNjc2LjE2XHBhcg0KPiAg
XHBhcg0KPiAuNi42NjVoSzIuLDZUeFIuZUtaTS5NLjYuLFUwS3lCLiwuLmUsMi5BLmM4VS5FLjB0
LlUuLjYxbGJBVWdRblxwYXINCj4gUHQwbExVOHNzSG9yXHBhcg0KPiAga21zUUNvci4uYzJFLi5V
NlUuLkhFLjZSdnVRMG1IQ2UuYXo4NlV0ajBHVGtXYVVLWk0wM2IsLi4uXHBhcg0KPiAgLS0tIGVu
ZCBvZiBlbmNvZGluZyAtLS1ccGFyDQo+IFxwYXINCj4gLS0tPT09PT0tLS1ccGFyDQo+ICBBbGV4
YW5kZXJccGFyDQo+IFxwYXINCj4gLS0tIEJsYWNrQm94XHBhcg0KPiAtLS0gc2VuZCBzdWJqZWN0
IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0KPiBccGFyDQo+
IFxwYXINClxwYXINCi0tLSBCbGFja0JveFxwYXINCi0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBV
TlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24uY2hccGFyDQp9fQBybUNM


----boundary-LibPST-iamunique-2127058139_-_---
Received on Sat May 26 2007 - 13:18:38 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:35 UTC