On Mon, 07 Dec 2009, Pritpal Bedi wrote: Hi,
> > I've just checked hbqt_slots.cpp and there are _many_ > > hb_vmRequestReenter() calls without hb_vmRequestRestore() > > pairs. > > I don't know the consequences, but it doesn't seem right. > Matched. > I also do not know its implications, Przemek ? It may change in different HVM version so no one should create code which depends on current behavior anyhow if you are interested what happens now then return value is overwritten by last return value in executed code (depending on context it may cause some serious runtime problems (Pritpal should remember problems with runtime errors due to overloaded returned logical value in xHarbour) and the exception (QUIT, BREAK, ENDPROC) is not properly restored. Additionally stack items allocated for stored data are not freed until returning to upper level HB_FUNC which activated such C code so executing hb_vmRequestReenter() without hb_vmRequestRestore() in a loop increase the stack size. We have automatic stack resizing so it will not generate any visible error until system has enough memory but of course resources are consumed. best regards, Przemek _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour