Josef Templ wrote:The only surprise was that the Co_ author previously thought that it is not possible.
Josef Templ wrote:Seeing is believing
Here is a straightforward (1:1) adaptation of your module Co_Routines to the Kernel's coroutine services.
Why did you bring these daggers from the place?
They must lie there: go carry them; and smear
The sleepy grooms with blood.
...
Infirm of purpose!
Give me the daggers: the sleeping and the dead
Are but as pictures.
Lady Macbeth
-----------
Your Co_'s adaptation is working (one bug fix in procedure Start), but I have comprehensive test ObxAllocators below, which shows unproper results. Coroutine Do contains local pointer "list", which lifetime equals to coroutine lifetime. An expected behavior is as following:
1. after each Co.Yield "list" is used by coroutine;
2. before the coroutine end must be printed "=== Finalizers allowed"
3. at the end of coroutine Co.Stop is called and local stacks can be freed
4. finalizers print messages for each object.
When I ran this example, I discovered that finalizers are called BEFORE the end on Coroutine Do.
StdCoder.Decode ..,1 ..j.....5uPzu9PuP7v9ZuPf9RHfP9vQRtP7vMCory3sH39S18PNvP
5PMdvPZvQRtP71w,,...
1Ak...Ci,...58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.ikB
E.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7ONbXmb.2.
AfOk2kce,,E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.rT46.,sUGpmWbB
xhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.964w,gzLU.2.Ae0U00.bnUGLu8ro8quGrmCLWKqtE0E.
kHU.EBE.0.4.I3l6w1.0E65.g0AU0KyBU.2.412.e,2.AU.Ue.4.072UH,3.16,E,9z4U.kRU.
EBE.0.4E.EJ.ES9.200k.C,2Z,k.S0Q.QU0KyB.,UcF.0.e,2.AU.6.e06.2Uw0e.w1s,6.,,5
c1kYl,y.IU.k,a.0Eak,e.0Esk.S0Y,YU0KyB.,..e,2.AU.Ue.8.07c46.L35.QX0E0G,0Ea4
.5c0kTF0S,0kpl.y10EvE04F.kC4.16E6.ZX.M3k22.1656.x,5c16.x21686.N.5c,6,1U.2U
HL.Ck0E0U.QU,k,a.A6QU4U.oHAUb.N.5.G.2UhX12,Y.6.3Q.wzBxd2heAhcUQcjxfGxhpZid
phZRivgVB2ZeIZUgV7QgjphoJidJAyKtCr2qHE8GWqqoGLtaLEOJLGokSqkKKvmGEeorCrmOKE
GpmqKsmKFqk2mqoCqmuqtKKEqHE8GcKLlmqoCKEGorqqkaKr8m4eGJam4ak4aEIeGE8Iq4qliK
VyKw0mfaKrGqrSrt0mYqKsmqmqqmMMdPOTfP,d8HN1HMGP8ITeId8658R,dCv765uPGpkCrpCL
K0mdapdGpWqIK0mZKKtuqmmqRqk4akVyIbCJe0m4ak2CIYKoVioj8pUuoXKojKId8pb8JJ0mS0
mO0nR0GbaIayJcyoYuIeKIdeGEq1XtC,dHT8JzOEhOEH8H1eENOFJ76v768nRqk2akaKpdGpj8
oWyJc8pYqoU8pgeGEq1btC,tE1eHduL3OF..GnR0mYuIf4IaaIWyJXaIbaodWIJ0mS0WpQbUgV
7AV,ReHhcGZeTBdCxfGxdJZe7pd3JZUg5OnR0mYuIeKYCBcAxf3JeG,sBr76PM0CobYeGxdAxf
2hcCBd3Zce2YxEQiHE8pWKIbGJd4IbGpjKId.MCr76Pk4ak4YeN3e3hV7AVcI3PN9PN9P,2Y1x
hmxhpZC2YUgZhg3P,2YeAZBM05uPZvPUe220pbaIbcI,7JT865uPZ16F9XvgV7AV1xfEJeDRce
2Yx2Y72eGxd1hc2heGhcU2ZXJbUQcjJCUdQbBAV7sP.G2eGEqX,JcHZeGBc1ZeUIe3RcDJe23Y
cQcopZIBgnRh2hgnN8PM0HM09vPZP9p763uHT8H9OERuCPM0aktGrkCqpyptaKxKKJeHEaIbGZ
5hcGRbBA,KKt8rr8LR0GVy2.YgdRikJbUQcopZ2Bhn3iVZiX3hZJivg,ogmxhhJbUQcj,sCPM0
Ahh3igJbUQdZJCoZ1xhmxB.sQHfS999,NM79NZ99,7Rn9Q9PO7fC,NGR0.CJu4KtGrKmGEyIrC
JuyKseGK0Ge8rkuqtOqm8rKeHECoj0JdsCPM0KIbGoRqk2ak4aUBBgdtETfQ.,ND,7IUG,ZOF5
0sPZ1M8,NFR8Frl4AVHhghBgk3hjJiZJZUEdKoVk4ak2aEv4KqqGR0mYu2D0M0ZvPf1eHECor.
Q5g6M0qUKBcGhV7AVXhimJiZphoJbUQcj,.0Ltaqq4KtaLR0mV.UBA,F,M9UUQ6.0GEUh.0GJE
c8pbg6kdKKuGooCLs.0GICKR6RG3iHEGKR0mVGb2,UdQbBAV0hc5BdChV7A,FtETfQ.Hd97POb
HEenSYgBAV3p7,tI99Rkk.rl4aEc.EdKLrCorwBEEWGq0Lc4Kt4qqKKuKKtmGEGquqqqarMmGE
GquENeHEa2kIin4AVKB6,tMp76y4UvM030UUIbx2YHBfHVioe,ZdcQcj,69,7PV9I.A3AV9hgm
pBQeZZi1xhm,IcVRiZ3ZXpZdhhkN8rN1HkluGW2ZXBZvgV7UZJimxB,dCv76FtM,t6,7QZPOP1
HtCPU,,WGzCKLKKtEK0mYuIfMG.AZBAV3p78puu4y4sCgV728.ocdJgZJiHZiVJCZuPf9R66..
p76.U0,sG.deQn98ZORR1.N,.690HK0GMamRqU7Q7.4KrU1xhm,2ZkJid,RNOP9QgV7.BOO31.
UvM1.U7phdZiEJidhBQbBEf66PfC,NH1POR1T1667vPRPNp7630.30EbKofWmqamR0GbKofWWi
AhhVvU9,AdiBhoRcj,sQFNPRlq69,7NTfPamRkU.Gqruag2Y7pdIdIROE.amREs.0GRqHEqqRq
k2KIbMGRPO03kRg,.kdGrk8bU2ZXJ5.M8rV7o80GmyKrI5...HeF,7QZPOEEqHEuoYmIEGJYKI
bqk2AVXhCEEenSod7tCPM0akYuqoG5UvM0K2r,10sMffQZ1qHEu2N76POJb8J.H0amRq..oZnZ
iVRAUUobx2YkYZUQc6hc1,..Ad4tMRNOPXUQYUod776.Q7UGhghxhqhg1xhm,2ZXp3M8Pk2K2E
bklumoUvUXp3TfQ,dCoc,ZdHhcvgV7sG.18N7vETfQ..mW4BB.83EKQeN,EIaIbGZ5FK0mlaGK
0GMmWkY371H,42EmUBAV3FEC3ZnRqk4..FFR.Ud2Y4BdCBcABdOhchQbBAV0,,N1HM0H0UU...
UGlr..F,M8P.gV7UUoc7p7kRqk2qUE,UIJiV,0GI..amRcEk4ME.x1THK0GbyIeA6.amRM0.Ca
WBgnhgUg569CobuIe.u2amRq..cNZvPP96v76UGhc3,..CaaJCIbxsMffQkRqk2A6.a400UCBd
Ax9UGBZvUXhCEEe1in4aU9,Y8.5Wj,W0kIi1W03NEbvQ9fQdPOTfPaKr0mVy4UgsQ9PN,7RFPN
,tQ9vMTfP796dfQ19Q,dNTfQ,7N99R1PONvQ376JN8AV,,oDICkUCpdK2z0g8M8rN1Ad4VZxB,
d7,785f9TePb0,t6,,H76d8G9GECKLy2685P8,NFRm4.d0kRq..kdggk3YcYiu2Y1FesO.Y6Uc
lIUKFECKR.UvgV7I6.5966RFtET1kIk242685PR.v,mWB,30...x1THKo7...UcYgUQYUUdc7,
78796v765f97PObnImGECob.cHK2.UXpZdVU.mWClj.83sMf1cCQAsG.cPkVsPUc.A368.91..
69..666Q....oDICkUQ8w9..A7MN22QAT022kIY8UD,W0.kdgArN1P..2dVZhoReoxhk3YcQgu
EuY8AZvg,30EIMRbPN,tETf9b8RMORvQdPN19N,d8HN1a.EICKEqHEu2NVDlU..K2Wokm4sCPM
0PEc.kYkV.c8Wmle1T1kR00p7658Rwf2xhdQbBcE.CIuumYuaoZeVRif3ZXZZUYgjZZUQeZZCM
M2BmWHZCV99,7G11M8rN1aklumdAA0GRsIdPMQ5a.deQ1fPEEenSYem,Q5HMFMGRX1,UBg,H68
g3g3EE0JtyqlKKmKLtKqt0GEqmKM9UUI328.AfdhggZge2YcAZvg,O3,FK0mlGrre1T1UUogmx
hhJ5LONU1lr.Yiu22MMQ5.70.rV0,ME.K5kF00sE1eHyJV..sM,,5PRUv2YXZij3Yug5RWvU7p
6FtMRdN66v,aWa.31CGEu2Y8g,akluGl44RdH99SdPGRvI59O99NFtMR,mGEGLK0GmamRq.HMG
6R,t6,,o2Gb7ReUQcj,M8,7JF0M059RT966R.Uv.HME.FVX.UYNDYCR7NHXdY3.Ebg6.9WBM09
WvU7llGrr0mF0ml0GeWoW.H0RdNkF0000.HsMf12YukluGnkRqk2AV7oA2Yu.ELaqqsC,tMRdN
66cHQ5M0L06J.C2.FdNZvPam4ak2akWmodaIX0mlG5o700.HsM.klGbvgV7k2O400ELaqqk4a.
HsG....kIU3lWqk2aU7QA.cHQ5M0L0...6Q.R,am4kWuYB.MF2YNBhZlRqk428.Q8THJ0GI.hW
UQiopcdphdRichgYJbUUHZiVZiZRbBcE.42klK5kFUg...k2CLuOoo.umtGLEe158RRFeyJXa2
WoWGoRkYku85oZYBhn765,00U7QA.ELCpmQeoBgo785PRZ1.N76b9RB0kIin4MFQ5Hkl.ggjJC
pVIJeJhcv2YBM0nOO99Pqk2EECZjtCq..sEffQZ1J76FFR0mV.sCPM030EdKIeKJduIECqu.PM
0905ORZ1in4q..sINPN99QJ76FNOR9R9fQhPMNfC,7HTeHDOGR8JHtCAVKVXJ550.I6.10.EE.
N,..U7QgUUXhCkRA,umdCKosINPN23N76HfPd1AZvg,a3.QeghAin4M0F,M9UUQeZhhV,0GEUh
.0GJ..MNKJseGEWGf4Id0mteHECpmqqk.H76rN1HcE.aIbCIICLLOrkm4MGBmtuGv66v76V76d
8GU7A6UnpZmxhp,,t6,,o7..k2..UiYgdFE.MGy3MFZ0sQRdQT1.uGqyqliqmGKEenSo6sCa..
66pNDu2rV7g6q.229PPfmREc..GorSLreGEWGf.kk.i130EWKoVWmtu0a0akY.22qmM0GeW2M0
10sM.,,Y35WI,..H..UiYA22.RWT,.sQ..51sC..u0o3.6Jk4a.n0M09WBMF22Y6QbBg,.kVmq
rCrmin4cJ6NTXuUD,A,.05.66pNDu2r,L0MG..bHbaIamWYxhiN8rV3V1Zhj,PsENuHbOFPM05
8PTvQqkWuIWsPzeIT1c9PcUXDJ9X1xhiZCT9PNPNZvQRtIGqVGLtmKWKqtCK.4Dl1.c95uPR9R
.7ONbvM,kVy411C5cQ...sQR,.G20EtV.UIU.U7.,..1cUXDJcIf9P9fQbf9bWGhigFWE.4Te.
sQRdIf9P9HWE.8z,0.,6.QJw.QI2U.sUG3.bf9bWHZitZhZZcZRC,Mw.ELMSN12Umz.,6.0.E2
Eh6.,6.Ikl1.RNEd1MNG20U2U...G00k.0.0.0mFf3,E.mLT5UTyB4.4.0E.cUZT1E..UO.,.1
.eWwpr,6.,E.0t.U..61lL.m.mmBjZ92T,eUXDFkmsQCor..62,U...W.0.A,,Uohfn76Dtc0M
yfU.az86x,9O0OJWd..wU....
1Ak...jl....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.my3
E.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7ONbXmb.2.
Ib9k2ENi.,E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.ti0E.CcIhgsNHT
9N9ntQ8qorG4704D.CbB,708T1U.EnX.T.xC02U..bO.cU.ktAcoZimBhWhiohgnZcZRCY.2.w
22U.EBU.U,U.I3l6w1.0E65.g,AU0KyBU.2.010.u,2.AU.U,JidBgg74VT.E.07c0E0E,8Mtr
.2.010.u,2.A.ME.M.6YE.S24kgC.5cUZT1E.6A2U.US.,.16.ME.c.6YUDU,wp,E08Mtr.2..
c56.,.16.ME.6.2UwK.6,M.bT.2U4U,Q,wzBxd2heAhcUQcjxfDJgsBcgZhjRgVZijJin3YvgV
B2ZeIZUgV7QgjphoJidJAyKtAVx2YWYchBhoJit3YKpZ2BgbBgZpiWgV7YhdRgZphnhgUgbUIY
EhiWZhdRgUYcjhhVBhiJYBIZeAZBgV7AdB3eDJeI3Y1ZiUIbx2Y1xBdOMbvOb99,tET96pND,,
ZuPf9RHfP9vQN76LONZfP99PN76NuPDvCPM0PM0dOKVOFPM0HcH1PP996v761eIZOEn86bdA,t
HB8658G1eIrN1HM0R0b96v7610Aak2YDpcUodVhhZRbBAV7YddRio3Yx2YExd7pdIhcG3YIxdU
YddRioZcZRiXRbBAV7.EEqHE8pWCob8JWqk2ak2uqkqqmeHEuoksCM0BPORPMNPOpPN7fC,dET
uHNOF1eHrN1HUihgsZiu2YABhnN1HkWuIWin4ak2qk2aEWaqlGLEq1.EWaqlGLWK4r,70EE.66
FtETf95uPZvPf9R6F9XdgV7M044p,Q5g6M1HcJ1eIPM0H68J7PHvQeHEm2iHJam4aEc8pbCoWG
oe8pW0GImqoeHEmooM8,dFHeH18HHeK9uCPM03OFDOGRO1HM0NPORdNHfP112Yug5deIfOFrN1
HM0NuPDf9b8RZPORvNFd6BOORPMEE8mIiHEmorSKL.YhdpZiBAamR0GaEauq4akWuYUoc7p7.q
UE,U,ZgYpdZ3jo3YcYgdRgoJbUYcdRAr76NPOb9RpFakIin4aEV.Ad43YYBhXd9RPMPHECGE8G
F0GeWoWuo4aU7A7mqoCbiohZ3DqHEuoYmIEGJYK2M0ROFj88NPOb1M8rN1ak2aEqQio,uGr44e
nS0GmaqlkksCk2m2C3EF0GE4KmGKEuqkqqmeXWAZvYdjxgi.6NHvM.HFay4NmRqk2M0FlUCpdK
IdGJIGqo.2YXktKqlyKrGKFmGE8HMamRemIqU7M05uPRNKHPNN9NPM0akWsCa.H0UZFECGEuoY
m2.akUGKmu2WGmEK0Gqaqt.am4ak2g6qk2g6MFRGE4ImG4QbBg,V0.7uP,78dfC,tEdf9dOMbv
OHtCPM0OpU2YYBBeX2Vv.mGEcCUvg,30Eakd.8mSqnS0GXaKr.ZvQ,7QZvPFPO3POdPN7f6HtC
,,m2cH.aWUYhdFLuqkERc63tCPM0GqoCKu0GR6RF7FHvMamRq.1068EKktA36P0GRqXgBhntCA
VL3d7Zd33YgBhUQYUo7YcDhV7AV7Y7Q8.,Fr44v763N8m2.YBR,aWBA,a2oZa,6NGJY66NuPD1
UWc8Jd8fvQ9P91fNdPNZP9BPOR1IZeIZWAZUgcCZcv.N0N06P.uGrKKwgV7A,Q5Y7Q8.v,.IC4
KqmqrSrmGKFaWU.N0Q6CJuyKsqk2K2,7FTvCPM0PEc.EdKLremRqk2o8.p,Q5RPMPnteHEuokk
R0GpeHEaIbGpWSoW8pRqU0,cH6NHXd.5W7phdZi1xhmxBoBF7NHvMmW2xhdQbBEmELCJu4KtGL
IGqoM8ErUP3aR3Yug53dNHfQb9R3tC,dP114ni0GRq1bPNEFiHE.8ni0GRq1d9OHfQ7f6r,kNq
JEenSc6M0J96pND,7ArN1Hkf.x9NHXiggjJiUoYU2Ze3Yw2YmAZUYcDh,aEmUiVUUiBghtQeqi
in4a.UIJiVphnpgZJicYgdRAH,AdCRccIhdgV7AV3lRkZKKtu4RtET9PNPN59RrFIeGEOqo8rt
2YoBhhhgUIZdg,S3.oZZV2xdBk2G4oB2Yu.QC..d0.M8U7,kW.WWgVUI5uoYmoRemIkZ..2YU2
Ze2YnhgXxB0Gua4e0KIb2YGhiiRbBgV3pd2tETvLT0sMUiIklbeZlVyKrGbjZhghgmRiiQeoZg
1ZimZh2tQ0ks,.ELCoruKu.GomCrl0U1VV,u0IC...Qii..70,cwE.E8E.k22.,6..M.3QwdON
IepZhZJinpZHFdKLq6F6.XDJ.QiiIepZhZ7F6.Zz.,U.2.i8S.C80E.QE.sQRtIQeoBjghg2hg
n7.X5.u0n9PU.Iy56.2.U6UOV.2.86.c918R.9HWE.Y.2..EGE.4E.E.EECOh6.0kXat.wnj7.
1.1.,6.Ikmj,6..EBU.U,.JFkns.U.2m,.,.E4WDN.Ntarm3Wj.Jklb6MNkVy4..V.,..2,2.M
00.dPLbHESmF3kwL,,AzJEu1Ko2oe2H.2i1...
--- end of encoding ---