I had a similar action in one of my programs, where I needed to be constantly reading a GPIB device, and at certain point in time in another loop, I needed to record what loop iteration a certain value happened at in the other loop. The way I solved the problem was with notifiers. On the even occurring, it sent out a notification, which the other loop was waiting for. Now that means that the loop waiting on notification only ran when notification was sent, but that's what I wanted for my app.
I apologize if this isn't really applicable, but I can't d/l zip's since my network refuses them (not my choice!).
Geoff