Input Reference Parameter Protection for Intrinsics [ DCE for the HP 3000 ] MPE/iX 5.0 Express III Documentation
DCE for the HP 3000
Input Reference Parameter Protection for Intrinsics
When an intrinsic accepts a reference parameter, the data within that
parameter could be changed by another thread if the data does not lie on
the calling thread's stack. If it appeared that a corrupt input
reference parameter could either cause the system to abort or corrupt
system data structures, protection was added to that intrinsic.
The following list contains intrinsics that make input reference
parameter protection difficult. Programmers need to provide their own
scheme for protecting the input reference parameter data during the
execution of these intrinsics.
FDEVICECONTROL The LENGTH parameter given to the intrinsic must
exactly describe the length of the BUFFER
parameter. If LENGTH is either longer or shorter
than the actual length of the BUFFER parameter,
unexpected results could occur.
FCONTROL There is no input reference parameter protection
provided for the PARAM parameter.
AIF Intrinsics There is no input reference parameter protection
provided for any of the AIF parameters.
Posix Intrinsics The following Posix intrinsics were found to have
input reference parameters that could be corrupted
when used in a threaded environment.
Posix Intrinsic Input Reference Parameter Name
chmod path
closedir dirp
mkdir path
opendir dirname
opendir_r dirname
readdir dirp
readdir_r dirp
rewinddir dirp
rmdir path
unlink path
creat path
open path
getenv name
ioctl arg (and all areas pointed to by
arg)
MKS Routines Some routines from MKS available for Posix are:
confstr fnmatch getopt glob
popen regerror regexec sysconf
system wordexp
It is up to the caller to provide the necessary
protection scheme for input reference parameters
used by the MKS routines.
MPE/iX 5.0 Express III Documentation