Teradata recommends that UDFs, UDMs, and external stored procedures not use System V IPC or POSIX IPC such as semaphore, mutex, conditional variable, and shared memory. The Teradata C library does not provide FNC functions to allocate and deallocate these IPC resources. When a session aborts or unexpected events cause Teradata to terminate the external routine execution threads or processes, there is a risk that these IPC resources may be left over in the system without being cleaned up. In rare cases, this may cause a system hang or OS resource leak.