Nonstop Database, HiRDB Version 9 UAP Development Guide
![[Contents]](FIGURE/CONTENT.GIF)
![[Index]](FIGURE/INDEX.GIF)
![[Back]](FIGURE/FRONT.GIF)
10.4 Limitations to C program creation
The following limitations must be observed when you code control processing in C language:
- None of the following functions can be used; using them might result in serious adverse effects on the HiRDB operation:
- Process manipulation functions, such as fork(), exit(), abort(), and exec()
- sleep(),select(),wait()
- Stack manipulation functions (such as setjmp() and longjmp())
- Shared memory manipulation functions
- Semaphore manipulation functions
- Socket manipulation functions
- System resource manipulation functions (such as setrlimit)
- mmap(),munmap()
- gethostent(),sethostent(),endhostent(),gethostbyname(),gethostbyaddr(),herror()
- tempnam(),tmpnam()
- pstat()
- system()
- Do not create threads.
- Do not use GUI.
- SQL statements cannot be specified.
- Do not manipulate files.
- Do not use special files (such as PIPE).
- Do not use the standard input, standard output, or standard error output.
- Do not use recursive function calls.
- None of the following names is permitted as global variable and function names:
- Names beginning with the upper-case letters SQL, Y, or Z
- Names beginning with the lower-case letters p_, pd, yy, or z
- Names beginning with the lower-case letter _p
- Names beginning with the lower-case letters da, dbr, or dp
- Do not set or change environment variables.
- Do not perform signal manipulation.
- Do not change the system date or time.
- If you allocate memory, make sure that the memory is released when the routine terminates.
- The stack size cannot exceed 4,096 bytes.
All Rights Reserved. Copyright (C) 2011, Hitachi, Ltd.