"William E. Kempf" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> Now, what you're describing sounds more like this: > > class timer > { > public: > timer(boost::function<void> on_event, int ms, bool repeat=false); > }; > > Which do you really want? Yes, this is what I needed. > > As for "the problem was that I could be sure that the scheduler thread > would receive its time slice exactly every 250 ms", you simply can't do > this, portably or not. Granularity issues of the underlying clock aside, > I'm not aware of any scheduler that would give you this sort of control, > and fiddling with the priorities will only give you the illusion that > you've accomplished what you want. Totally agreed. I didn't solve the problem, rather I tryed to alleviate it. You can look at it in the attachments. Finally, I switched to using win32 ::CreateWaitableTimer() and ::RegisterWaitForSingleObject() functions. begin 666 delayed_command_queue.cpp M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O#0HO+R!D96QA>65D7V-O;6UA;F1?<75E=64N8W!P#0H-"B-I;F-L M=61E(")S=&[EMAIL PROTECTED]:"(-"B-I;F-L=61E(")D96QA>65D7V-O;6UA;F1?<75E M=64N:"(-"B-I;F-L=61E(")M=71E>%]P<F]T96-T960N:'!P(@T*#0IU<VEN M9R!N86UE<W!A8V4@<W1D.PT*#0HO+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\-"@T*='EP961E9B!I;G0@;6EL M;&ES96-O;F1S.PT*8V]N<W0@;6EL;&ES96-O;F1S('!L86YN97)?<&5R:6]D M*#(U,"D[#0H-"FYA;65S<&%C90T*>PT*#0II;FQI;F4@;6EL;&ES96-O;F1S M('1O7VUI;&QI<V5C;VYD<RAS96-O;F1S(',I#0I[#0H)<F5T=7)N(#$P,# @ M*B!S.PT*?0T*#0II;FQI;[EMAIL PROTECTED]<W0Z.GAT:6UE('1O7WAT:6UE*&UI;&QI M<V5C;VYD<R!M*0T*>PT*"6)O;W-T.CIX=&EM92!X.PT*"71O7W1I;64H;2P@ M>"D[#0H)<F5T=7)N('@[#0I]#0H-"GT-"@T*8VQA<W,@<W1O<'=A=&-H#0I[ M#0IP=6)L:6,Z#0H)<W1O<'=A=&-H*"D-"@D)[EMAIL PROTECTED]&%R=&[EMAIL PROTECTED] M8VM#;W5N="@I*0T*"7M]#0H-"@EM:6QL:7-E8V]N9',@96QA<'-E9"@I(&-O M;G-T#0H)>PT*"0ER971U<[EMAIL PROTECTED]'9714:6-K0V]U;G0H*2 M('-T87)T961? M.PT*"7T-"@T*<')I=F%T93H-"@EC;VYS="!$5T]21"!S=&%R=&5D7SL-"GT[ M#0H-"B\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+PT*#0IC;&%S<R!D96QA>65D7V-O;6UA;F1?<75E=65?:6UP M;" Z('!U8FQI8R!R969?8V]U;G1E9%]I;7!L/&1E;&%Y961?8V]M;6%N9%]Q M=65U93X-"GL-"@ET>7!E9&5F(&1E;&%Y961?8V]M;6%N9%]Q=65U95]I;7!L M(&UE.PT*#0IP=6)L:6,Z#0H)9&5L87EE9%]C;VUM86YD7W%U975E7VEM<&PH M*0T*"0DZ"7-T;W!?*&9A;'-E*0T*"0DL"7!L86YN961?;71?*'!L86YN961? M+"!P;&%N;F5D7VUU=&5X7RD-"@D)+ ER96%D>5]M=%\H<F5A9'E?+"!R96%D M>5]M=71E>%\I#0H)"2P)<&QA;FYE<E\H8F]O<W0Z.F)I;F0H)FUE.CIP;&%N M;F5R7V9U;[EMAIL PROTECTED]&AI<RDI#0H)"2P)=V]R:V5R7RAB;V]S=#HZ8FEN9"@F;64Z M.G=O<FME<E]F=6XL('1H:7,I*0T*"7M]#0H-"@E^9&5L87EE9%]C;VUM86YD M7W%U975E7VEM<&PH*0T*"7L-"@D)<W1O<%\@/2!T<G5E.PT*"0EC86YC96Q? M86QL*"D[#0H)"7!L86YN97)?+FIO:6XH*3L-"@D)=V]R:V5R7RYJ;VEN*"D[ M#0H)?0T*#0IP=6)L:6,Z#0H)=F]I9"!S8VAE9'5L92AC;VYS="!C;VUM86YD M7W F(&-M9"P@<V5C;VYD<R!D96QA>[EMAIL PROTECTED];&4-"@E[#0H)"7!L86YN M961?;&]C:R!L*&-O;G-T7V-A<W0\<&QA;FYE9%]L;V-K.CIM=71E>%]T>7!E M)CXH<&QA;FYE9%]M=71E>%\I*3L-"@D)8V]N<W1?8V%S=#QM928^*"IT:&ES M*2YS8VAE9'5L95]I;7!L*&-M9"[EMAIL PROTECTED]&5L87DI.PT*"7T-"@T*"79O:60@:'5R M<GE?=7!?86QL*"[EMAIL PROTECTED];&4-"@E[#0H)"7!L86YN961?;&]C:R!L*&-O M;G-T7V-A<W0\<&QA;FYE9%]L;V-K.CIM=71E>%]T>7!E)CXH<&QA;FYE9%]M M=71E>%\I*3L-"@D)8V]N<W1?8V%S=#QM928^*"IT:&ES*2YH=7)R>5]U<%]A M;&Q?:6UP;"@I.PT*"7T-"@T*"79O:[EMAIL PROTECTED];"@I('9O;&%T:6QE M#0H)>PT*"0EP;&%N;F5D7VUT7RT^8VQE87(H*3L-"@D)<F5A9'E?;71?+3YC M;&5A<[EMAIL PROTECTED]"7T-"@T*"6)O;[EMAIL PROTECTED]'DH*2!V;VQA=&EL92!C;VYS= T* M"7L-"@D)<F5T=7)N('!L86YN961?;71?+3YE;7!T>[EMAIL PROTECTED]("8F(')E861Y7VUT M7RT^96UP='DH*3L-"@E]#0H-"G!R:79A=&4Z#0H)=F]I9"!S8VAE9'5L95]I M;7!L*&-O;G-T(&-O;6UA;F1?<"[EMAIL PROTECTED]"!S96-O;F1S(&1E;&%Y*0T*"7L- M"@D)9&5L87D@/2!T;U]M:6QL:7-E8V]N9',H9&5L87DI.PT*"0EP;&%N;F5D M7VQI<W0Z.FET97)A=&]R(&DH<&QA;FYE9%\N8F5G:6XH*2DL(&HH<&QA;FYE M9%\N96YD*"DI.PT*"0EF;W(@*#L@:2 A/2!J("8F(&1E;&%Y(#X](&DM/F=E M=#PP/[EMAIL PROTECTED] K*VDI#0H)"7L-"@D)"61E;&%Y("T](&DM/F=E=#PP/[EMAIL PROTECTED] M"0E]#0H)"7!L86YN961?+FEN<V5R="AI+"!P;&%N;F5D7V5L96UE;G0H9&5L M87DL(&-M9"DI.PT*"0EI9B H:2 A/2!J*0T*"0D):2T^9V5T/# ^*"[EMAIL PROTECTED]@ M9&5L87D[#0H)?0T*#0H)=F]I9"!H=7)R>5]U<%]A;&Q?:6UP;"@I#0H)>PT* M"0EF;W(@*'!L86YN961?;&ES=#HZ:71E<F%T;W(@:2AP;&%N;F5D7RYB96=I M;[EMAIL PROTECTED]@:BAP;&%N;F5D7RYE;F0H*2D[(&D@(3T@:[EMAIL PROTECTED]"0E[#0H) M"0EI+3YG970\,#XH*2 ](# [#0H)"7T-"@E]#0H-"@EV;VED('!L86YN97)? M9G5N*"[EMAIL PROTECTED];VQA=&EL92HO#0H)>PT*"0DZ.E-E=%1H<F5A9%!R:6]R:71Y M*#HZ1V5T0W5R<F5N=%1H<F5A9"@I+"!42%)%041?4%))3U))5%E?2$E'2$53 M5"D[#0H-"@D)=VAI;&[EMAIL PROTECTED]"%S=&]P7RD-"@D)>PT*"0D)<W1O<'=A=&-H(',[ M#0H)"0EP;&%N;F5R7RYS;&5E<"AT;U]X=&EM92AP;&%N;F5R7W!E<FEO9"DI M.PT*"0D):[EMAIL PROTECTED]'-T;W!?*0T*"0D)"6)R96%K.PT*"0D)#0H)"0EP;&%N;F5D M7VQO8VL@<&PH<&QA;FYE9%]M=71E>%\I.PT*"0D)#0H)"0EI9B H<&QA;FYE M9%\N96UP='DH*2D-"@D)"0EC;VYT:6YU93L-"@T*"0D)<&QA;FYE9%]E;&5M M96YT)B!E*'!L86YN961?+F9R;VYT*"DI.PT*#0H)"0EI9B H," \("AE+F=E M=#PP/[EMAIL PROTECTED]("T](',N96QA<'-E9"@I*2D-"@D)"0EC;VYT:6YU93L-"@T*"0D) M>PT*"0D)"7)E861Y7VQO8VL@<FPH<F5A9'E?;75T97A?*3L-"@D)"0ER96%D M>5\N<'5S:%]B86-K*&4N9V5T/#$^*"DI.PT*"0D)"6]N95]R96%D>5\N;F]T M:[EMAIL PROTECTED]"0D)?0T*"0D)<&QA;FYE9%\N<&]P7V9R;VYT*"D[#0H) M"7T-"@E]#0H-"@EV;VED('=O<FME<E]F=6XH*2 O*G9O;&%T:6QE*B\-"@E[ M#0H)"7=H:6QE("@A<W1O<%\I#0H)"7L-"@D)"7)E861Y7VQO8VL@;"AR96%D M>5]M=71E>%\I.PT*#0H)"0EI9B H<F5A9'E?+F5M<'1Y*"DI#0H)"0E[#0H) M"0D);VYE7W)E861Y7RYT:6UE9%]W86ET*&PL('1O7WAT:6UE*'!L86YN97)? M<&5R:6]D("\@,BDI.PT*"0D)"6-O;G1I;G5E.PT*"0D)?0T*#0H)"0EC;VUM M86YD7W @8VUD*')E861Y7RYF<F]N="@I*3L-"@D)"7)E861Y7RYP;W!?9G)O M;G0H*3L-"@T*"0D);"YU;FQO8VLH*3L-"@T*"0D)8VUD+3YE>&5C=71E*"D[ M#0H)"7T-"@E]#0H-"G!R:79A=&4Z#0H)=F]L871I;&[EMAIL PROTECTED];"!S=&]P7SL- M"@T*"71Y<&[EMAIL PROTECTED]<W0Z.G1U<&QE/&UI;&QI<V5C;VYD<[EMAIL PROTECTED];6%N M9%]P/B!P;&%N;F5D7V5L96UE;G0[#0H)='EP961E9B!L:7-T/'!L86YN961? M96QE;65N=#X@<&QA;FYE9%]L:7-T.PT*"7!L86YN961?;&ES="!P;&%N;F5D M7SL-"@ET>7!E9&5F(&)O;W-T.CIM=71E>#HZ<V-O<&5D7VQO8VL@<&QA;FYE M9%]L;V-K.PT*"6)O;W-T.CIM=71E>"!P;&%N;F5D7VUU=&5X7SL-"@EV;VQA M=&EL92!U=&EL.CIM=71E>%]P<F]T96-T960\<&QA;FYE9%]L:7-T/B!P;&%N M;F5D7VUT7SL-"@T*"71Y<&5D968@;&ES=#QC;VUM86YD7W ^(')E861Y7VQI M<W0[#0H)<F5A9'E?;&ES="!R96%D>5\[#0H)='EP961E9B!B;V]S=#HZ;75T [EMAIL PROTECTED];W!E9%]L;V-K(')E861Y7VQO8VL[#0H)8F]O<W0Z.FUU=&5X(')E M861Y7VUU=&5X7SL-"@EV;VQA=&EL92!U=&EL.CIM=71E>%]P<F]T96-T960\ M<F5A9'E?;&ES=#X@<F5A9'E?;71?.PT*#0H)8F]O<W0Z.F-O;F1I=&EO;B!O M;F5?<F5A9'E?.PT*#0H)8F]O<W0Z.G1H<F5A9"!P;&%N;F5R7SL-"@EB;V]S M=#HZ=&AR96%D('=O<FME<E\[#0I].PT*#0H-"B\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*#0ID96QA>65D M7V-O;6UA;F1?<75E=65?<"!D96QA>65D7V-O;6UA;F1?<75E=65?8W1O<[EMAIL PROTECTED] M#0I[#0H)<F5T=7)N(&YE=R!D96QA>65D7V-O;6UA;F1?<75E=65?:6UP;#L- M"GT-"@T*+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O .+R\O+R\O+R\O+R\O#0H` ` end begin 666 delayed_command_queue.h M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O#0HO+R!D96QA>65D7V-O;6UA;F1?<75E=64N: T*#0HC<')A9VUA M(&]N8V4-"@T*(VEN8VQU9&4@(G)E9E]C;W5N=&[EMAIL PROTECTED]"B\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT* M#0IS=')[EMAIL PROTECTED];6%N9" Z(')E9E]C;W5N=&5D#0I[#0H)=FER='5A;"!V M;VED(&5X96-U=&4H*2 ](# [#0I].PT*='EP961E9B!B;V]S=#HZ:6YT<G5S M:79E7W!T<CQC;VUM86YD/B!C;VUM86YD7W [#0H-"B\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*#0IT>7!E M9&5F(&EN="!S96-O;F1S.PT*#0IS=')[EMAIL PROTECTED]&5L87EE9%]C;VUM86YD7W%U M975E(#H@<F5F7V-O=6YT960-"GL-"@EV:7)T=6%L('9O:60@<V-H961U;&4H M8V]N<[EMAIL PROTECTED];6%N9%]P)BP@<V5C;VYD<R!D96QA>[EMAIL PROTECTED];&4@/2 P M.PT*"79I<[EMAIL PROTECTED]"!H=7)R>5]U<%]A;&PH*2!V;VQA=&EL92 ](# [ M#0H)=FER='5A;"!V;VED(&-A;F-E;%]A;&PH*2!V;VQA=&EL92 ](# [#0H) M=FER='5A;"!B;V]L(&5M<'1Y*"[EMAIL PROTECTED];&[EMAIL PROTECTED]<W0@/2 P.PT*?3L- M"G1Y<&[EMAIL PROTECTED]<W0Z.FEN=')U<VEV95]P='(\9&5L87EE9%]C;VUM86YD M7W%U975E/B!D96QA>65D7V-O;6UA;F1?<75E=65?<#L-"@T*9&5L87EE9%]C M;VUM86YD7W%U975E7W @9&5L87EE9%]C;VUM86YD7W%U975E7V-T;W(H*3L- M"@T*+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O ++R\O+R\O+R\O#0H` ` end _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost