Chapter 5 UNIX Compiler/Linker Issues
LabWindows/CVI Programmer Reference Manual 5-8
©
National Instruments Corporation
and suspends operation at the statement that caused the exception. If this signal occurs
when no program is running, LabWindows/CVI exits immediately.
You cannot use signal, sigaction, sigset, or sigvec to make your program ignore the
signals this section lists.
Note If your program begins to loop indefinitely, you can often suspend execution by
sending a signal to the LabWindows/CVI process as follows:
1. Use the ps command to identify the process number of LabWindows/CVI.
2. Send the kill
-SIGNAL pid
command to that process. For example, if the
LabWindows/CVI process number is 3478, the command kill -INT 3478
sends the SIGINT signal to LabWindows/CVI. When you want to suspend
execution of your program in LabWindows/CVI, try using SIGINT or SIGQUIT.
If sending the SIGINT or SIGQUIT signal fails, you must use the stronger
SIGTERM signal, which terminates not just your program but also
LabWindows/CVI.
Note Some signals can cause LabWindows/CVI to dump core you are running a
program that does not install handlers for them.
Solaris 1 ANSI C Library Implementation
The C library that comes with Sun Solaris 1 (SunOS 4.1.x) does not comply with the ANSI C
standard as follows:
Some ANSI C functions are missing from the library.
Some library functions have different behavior than the ANSI standard specifies.
LabWindows/CVI corrects these problems by linking your programs to a supplemental C
library libcfix.a, which is in the lib subdirectory of the LabWindows/CVI installation
directory. This library contains replacement functions for some Sun Solaris functions and for
the ANSI functions that are not available in the Sun Solaris library. The names of the
replacement functions differ from the Sun Solaris function names and do not interfere with
programs or libraries that depend upon the non-ANSI behavior of some Sun Solari s functions.
The LabWindows/CVI ANSI header files contain macro definitions for the replacement
functions. When you compile with the LabWindows/CVI headers, your program references
the LabWindows/CVI replacement functions instead of the Sun Solaris versions.
Consider the case of realloc, which LabWindows/CVI replaces with _cvi_realloc. The
Sun Solaris 1 implementation of the realloc function fails when the first argument is
NULL. The ANSI standard requires that realloc accept NULL as a first argument. In the
library libcfix.a, LabWindows/CVI defines _cvi_realloc, which treats a NULL
argument as the ANSI standard prescribes. The LabWindows/CVI header file stdlib.h

00ProRef.book : 06chap05.fm Page 8 Monday, March 9, 1998 3:23 PM