Well this surprised me a bit, this is reading pchannels: val m1 = read(inp); val m2 = read(inp); val m3 = read(inp); eprintln$ "Mainline Read1="+ m1.str; eprintln$ "Mainline Read2="+ m2.str; eprintln$ "Mainline Read3="+ m3.str;
Mainline Read1=36 Mainline Read2=16 Mainline Read3=26 These numbers should be in order! Like this: (note: val changed to var): var m1 = read(inp); var m2 = read(inp); var m3 = read(inp); eprintln$ "Mainline Read1="+ m1.str; eprintln$ "Mainline Read2="+ m2.str; eprintln$ "Mainline Read3="+ m3.str; Mainline Read1=16 Mainline Read2=26 Mainline Read3=36 To see why I looked at the C++: //PROCEDURE <16106:> _init_::_lam_12704: Resume method ::flx::rtl::con_t *_lam_12704::resume(){ { _a6716t_61945 _tmp62270 = (_a6716t_61945)("mainline reading results from pchannels"); ::flx::rtl::ioutil::write((&::std::cerr),_tmp62270); } { _a6716t_61945 _tmp62271 = (_a6716t_61945)("\n"); ::flx::rtl::ioutil::write((&::std::cerr),_tmp62271); } { _poly_4854t_61937 _tmp62272 = (_poly_4854t_61937)((ptr_init_->_i16103_v16103_inp)); int** _tmp62273 = (int**)&_i16109_v16109_p; { FLX_SAVE_REGS; PTF gcp->collector->get_thread_control()->suspend(); fprintf(stderr,"READ:DQ\n"); *_tmp62273 = (int*)(_tmp62272->dequeue()); fprintf(stderr,"DONE READ:DQ\n"); PTF gcp->collector->get_thread_control()->resume(); } } _i16107_v16107_m2 = *_i16109_v16109_p ; { _poly_4854t_61937 _tmp62274 = (_poly_4854t_61937)((ptr_init_->_i16103_v16103_inp)); int** _tmp62275 = (int**)&_i16110_v16110_p; { FLX_SAVE_REGS; PTF gcp->collector->get_thread_control()->suspend(); fprintf(stderr,"READ:DQ\n"); *_tmp62275 = (int*)(_tmp62274->dequeue()); fprintf(stderr,"DONE READ:DQ\n"); PTF gcp->collector->get_thread_control()->resume(); } } _i16108_v16108_m3 = *_i16110_v16110_p ; { _poly_4854t_61937 _tmp62276 = (_poly_4854t_61937)((ptr_init_->_i16103_v16103_inp)); int** _tmp62277 = (int**)&p; { FLX_SAVE_REGS; PTF gcp->collector->get_thread_control()->suspend(); fprintf(stderr,"READ:DQ\n"); *_tmp62277 = (int*)(_tmp62276->dequeue()); fprintf(stderr,"DONE READ:DQ\n"); PTF gcp->collector->get_thread_control()->resume(); } } { _a6716t_61945 _tmp62278 = (_a6716t_61945)("Mainline Read1=") + (::flx::rtl::strutil::str<int>((*p ))) ; ::flx::rtl::ioutil::write((&::std::cerr),_tmp62278); } { _a6716t_61945 _tmp62279 = (_a6716t_61945)("\n"); ::flx::rtl::ioutil::write((&::std::cerr),_tmp62279); } { _a6716t_61945 _tmp62280 = (_a6716t_61945)("Mainline Read2=") + (::flx::rtl::strutil::str<int>(_i16107_v16107_m2)) ; ::flx::rtl::ioutil::write((&::std::cerr),_tmp62280); } { _a6716t_61945 _tmp62281 = (_a6716t_61945)("\n"); ::flx::rtl::ioutil::write((&::std::cerr),_tmp62281); } { _a6716t_61945 _tmp62282 = (_a6716t_61945)("Mainline Read3=") + (::flx::rtl::strutil::str<int>(_i16108_v16108_m3)) ; ::flx::rtl::ioutil::write((&::std::cerr),_tmp62282); } { _a6716t_61945 _tmp62283 = (_a6716t_61945)("\n"); ::flx::rtl::ioutil::write((&::std::cerr),_tmp62283); } FLX_RETURN } which looks pretty weird! -- john skaller skal...@users.sourceforge.net ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language