>>How do I yield from a C program back to the labview program? It may allow the other threads to run automatically but it blocks the UI thread I think and that is >>really a significant block Scott, A small clarification to your point above: If the LV DLL node is configured as "reentrant" (recommended if the C function you are calling is multi-thread safe), then the DLL node runs in a LV diagram thread. Blocking that thread will not impact the LV UI thread. If the DLL node is not "reentrant", then it will be scheduled in the UI thread and you then run the risk of a sluggish UI while the thread is blocked by the DLL node. If you are designing your own C libraries to be called from LabVIEW, then its always a good idea to make them multi-thread safe and then configure the corresponding LV DLL nodes as "reentrant". It makes a significant performance difference. Cheers, Rajesh Vaidya Measurements Infrastructure Group National Instruments
