Notes, Memory management posix section 12, Functions implemented – Comtrol eCos User Manual
Page 463: Functions omitted, Memory management [posix section 12

Chapter 31. POSIX Standard Support
int pshared );
int
pthread_condattr_getpshared( const pthread_condattr_t
∗
attr,
int
∗
pshared);
int
pthread_condattr_setpshared( const pthread_condattr_t
∗
attr,
int pshared);
Notes
•
The presence of semaphores is controlled by the CYGPKG_POSIX_SEMAPHORES option. This in turn causes
the _POSIX_SEMAPHORES feature test macro to be defined and the semaphore API to be made available.
•
The pshared argument to sem_init() is not implemented, its value is ignored.
•
Functions sem_open(), sem_close() and sem_unlink() are present but always return an error (ENOSYS).
•
The
exact
priority
inversion
protocols
supported
may
be
controlled
with
the
_POSIX_THREAD_PRIO_INHERIT and _POSIX_THREAD_PRIO_PROTECT configuration options.
•
{_POSIX_THREAD_PROCESS_SHARED} is not defined, so the process-shared mutex and condition
variable attributes are not supported, and neither are the functions pthread_mutexattr_getpshared(),
pthread_mutexattr_setpshared(), pthread_condattr_getpshared() and pthread_condattr_setpshared().
•
Condition variables do not become bound to a particular mutex when pthread_cond_wait() is called. Hence
different threads may wait on a condition variable with different mutexes. This is at variance with the standard,
which requires a condition variable to become (dynamically) bound by the first waiter, and unbound when the
last finishes. However, this difference is largely benign, and the cost of policing this feature is non-trivial.
Memory Management [POSIX Section 12]
Functions Implemented
<none>
Functions Omitted
int mlockall( int flags );
int munlockall( void );
int mlock( const void
∗
addr, size_t len );
int munlock( const void
∗
addr, size_t len );
void mmap( void
∗
addr, size_t len, int prot, int flags,
int fd, off_t off );
int munmap( void
∗
addr, size_t len );
int mprotect( const void
∗
addr, size_t len, int prot );
int msync( void
∗
addr, size_t len, int flags );
int shm_open( const char
∗
name, int oflag, mode_t mode );
int shm_unlink( const char
∗
name );
359