On May 4, 2006, at 11:06 AM, Mark Wieder wrote:

That is, if calls are like this--f1(), g(), g(), f2(), g()--
at some point the data returned is that that should have been for the
previous call--empty, f1(), g(), g(), f2().  I have no queues in my
code, but it looks as if data is queued but an extra value is left in
or inserted at some point.  (The customer also reported memory usage
growth.)

That's indeed weird. My only guess at the moment is that one of your
functions may be getting compiled with a different calling protocol
than the others: it's expecting rev to clean up the stack, while rev
looks at the protocol and thinks the function should clean it up. And
that this function only gets called rarely, but enough to leave an
extra value lying about on top of the stack.

Good thinking.

Everything that Rev sees is C.  All the C++ is hidden.

Also, everything works fine until after a long stress.

Even then, I have trouble seeing how this might cause the symptoms.

I think this might be part of the answer but is still quite shy.

Dar
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to