Hi,
We are experiencing a rather strange problem with the use of Code Interface Nodes (CIN) in LabView. The CINs are built with the Intel Compiler in the Visual Studio .NET 2003 IDE and use the openMP directives to easily implement multithreading. This does not seem to give any problems, as long as we do not declare our code threadsafe. If the code is declared threadsafe, everything runs smoothly but LabView crashes when the VI where the CIN is located is closed. If we do not declare the code threadsafe, there is no problem but our user interface is blocked during execution of the CIN. Since we are building an application for other users this is not acceptable.
It clearly has to do with the multithreading, because forcing the compiler to create sequential code solves the problem. But off course we don't want to implement multithreading to disable it afterwards.
We could switch to DLLs, but we are building an exe version which is under full development and can be updated by our users through the internet. Since CINs are part of the exe file itself and DLLs are not, we would like to keep it this way.
We know this is a very specific problem, but we do not know if the problem is related to the multithreading in general or to the use of openMP in particular. Has anyone else tried multithreaded CINs and experienced any problems ? We basically just want to be able to stop the CIN from using our user interface, since we know everything is threadsafe.
Message Edited by Raistlin on 05-07-2005 07:34 AM