Open System Services System Calls Reference Manual (G06.25+, H06.03+)
System Functions (s and S) spt_fread(2)
NAME
spt_fread - Initiates thread-aware fread( ) function
LIBRARY
G-series native OSS processes: /G/system/sysnn/zsptsrl
H-series OSS processes: /G/system/zdllnnn/zsptdll
SYNOPSIS
#include <spthread.h>
size_t spt_fread(
void *pointer,
size_t size,
size_t num_items,
FILE *stream);
PARAMETERS
See the fread(3) reference page either online or in the Open System Services Library Calls
Reference Manual.
DESCRIPTION
This is a thread-aware version of the fread() function. The file descriptor underlying the stream
must be nonblocking for this function to be thread aware.
The following macro maps spt_fread() to fread() and has been defined in spthread.h:
#define fread(pointer, size, num_items, stream)
spt_fread(pointer, size, num_items, stream)
This macro is available only when SPT_THREAD_AWARE has been defined before including
spthread.h, as follows:
#define SPT_THREAD_AWARE
RETURN VALUES
See the fread(3) reference page. The following also applies:
• The value of errno is never set to [EAGAIN] or [EWOULDBLOCK].
• If the file descriptor underlying stream becomes invalid (is closed by another thread),
EOF is returned with an errno of [EBADF].
• If a signal is received via the pthread_kill() function and is not blocked, ignored, or
handled, 0 is returned with an errno of [EINTR].
STANDARDS CONFORMANCE
This function is an extension to the XPG4 Version 2 specification. Interfaces documented on this
reference page conform to the following industry standards:
• IEEE Std 1003.1c-1995, POSIX System Application Program Interface
The use of the header file spthread.h is an HP exception to the POSIX standard.
527186-003 Hewlett-Packard Company 7−101