<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- permission is obtained from the copyright holder. -->
|
<!-- permission is obtained from the copyright holder. -->
|
<HTML
|
<HTML
|
><HEAD
|
><HEAD
|
><TITLE
|
><TITLE
|
>POSIX Standard Support</TITLE
|
>POSIX Standard Support</TITLE
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
<META
|
<META
|
NAME="GENERATOR"
|
NAME="GENERATOR"
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
"><LINK
|
"><LINK
|
REL="HOME"
|
REL="HOME"
|
TITLE="eCos Reference Manual"
|
TITLE="eCos Reference Manual"
|
HREF="ecos-ref.html"><LINK
|
HREF="ecos-ref.html"><LINK
|
REL="UP"
|
REL="UP"
|
TITLE="eCos POSIX compatibility layer"
|
TITLE="eCos POSIX compatibility layer"
|
HREF="posix-compatibility.html"><LINK
|
HREF="posix-compatibility.html"><LINK
|
REL="PREVIOUS"
|
REL="PREVIOUS"
|
TITLE="eCos POSIX compatibility layer"
|
TITLE="eCos POSIX compatibility layer"
|
HREF="posix-compatibility.html"><LINK
|
HREF="posix-compatibility.html"><LINK
|
REL="NEXT"
|
REL="NEXT"
|
TITLE="Process Environment [POSIX Section 4]"
|
TITLE="Process Environment [POSIX Section 4]"
|
HREF="posix-process-environment.html"></HEAD
|
HREF="posix-process-environment.html"></HEAD
|
><BODY
|
><BODY
|
CLASS="CHAPTER"
|
CLASS="CHAPTER"
|
BGCOLOR="#FFFFFF"
|
BGCOLOR="#FFFFFF"
|
TEXT="#000000"
|
TEXT="#000000"
|
LINK="#0000FF"
|
LINK="#0000FF"
|
VLINK="#840084"
|
VLINK="#840084"
|
ALINK="#0000FF"
|
ALINK="#0000FF"
|
><DIV
|
><DIV
|
CLASS="NAVHEADER"
|
CLASS="NAVHEADER"
|
><TABLE
|
><TABLE
|
SUMMARY="Header navigation table"
|
SUMMARY="Header navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TH
|
><TH
|
COLSPAN="3"
|
COLSPAN="3"
|
ALIGN="center"
|
ALIGN="center"
|
>eCos Reference Manual</TH
|
>eCos Reference Manual</TH
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="posix-compatibility.html"
|
HREF="posix-compatibility.html"
|
ACCESSKEY="P"
|
ACCESSKEY="P"
|
>Prev</A
|
>Prev</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="80%"
|
WIDTH="80%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="posix-process-environment.html"
|
HREF="posix-process-environment.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"></DIV
|
WIDTH="100%"></DIV
|
><DIV
|
><DIV
|
CLASS="CHAPTER"
|
CLASS="CHAPTER"
|
><H1
|
><H1
|
><A
|
><A
|
NAME="POSIX-STANDARD-SUPPORT">Chapter 31. POSIX Standard Support</H1
|
NAME="POSIX-STANDARD-SUPPORT">Chapter 31. POSIX Standard Support</H1
|
><DIV
|
><DIV
|
CLASS="TOC"
|
CLASS="TOC"
|
><DL
|
><DL
|
><DT
|
><DT
|
><B
|
><B
|
>Table of Contents</B
|
>Table of Contents</B
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-standard-support.html#POSIX-PROCESS-PRIMITIVES"
|
HREF="posix-standard-support.html#POSIX-PROCESS-PRIMITIVES"
|
>Process Primitives [POSIX Section 3]</A
|
>Process Primitives [POSIX Section 3]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-process-environment.html"
|
HREF="posix-process-environment.html"
|
>Process Environment [POSIX Section 4]</A
|
>Process Environment [POSIX Section 4]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-files-and-directories.html"
|
HREF="posix-files-and-directories.html"
|
>Files and Directories [POSIX Section 5]</A
|
>Files and Directories [POSIX Section 5]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-input-and-output.html"
|
HREF="posix-input-and-output.html"
|
>Input and Output [POSIX Section 6]</A
|
>Input and Output [POSIX Section 6]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-device-and-class-specific-functions.html"
|
HREF="posix-device-and-class-specific-functions.html"
|
>Device and Class Specific Functions [POSIX Section 7]</A
|
>Device and Class Specific Functions [POSIX Section 7]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-c-language-services.html"
|
HREF="posix-c-language-services.html"
|
>C Language Services [POSIX Section 8]</A
|
>C Language Services [POSIX Section 8]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-system-databases.html"
|
HREF="posix-system-databases.html"
|
>System Databases [POSIX Section 9]</A
|
>System Databases [POSIX Section 9]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-data-interchange-format.html"
|
HREF="posix-data-interchange-format.html"
|
>Data Interchange Format [POSIX Section 10]</A
|
>Data Interchange Format [POSIX Section 10]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-synchronization.html"
|
HREF="posix-synchronization.html"
|
>Synchronization [POSIX Section 11]</A
|
>Synchronization [POSIX Section 11]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-memory-management.html"
|
HREF="posix-memory-management.html"
|
>Memory Management [POSIX Section 12]</A
|
>Memory Management [POSIX Section 12]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-execution-scheduling.html"
|
HREF="posix-execution-scheduling.html"
|
>Execution Scheduling [POSIX Section 13]</A
|
>Execution Scheduling [POSIX Section 13]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-clocks-and-timers.html"
|
HREF="posix-clocks-and-timers.html"
|
>Clocks and Timers [POSIX Section 14]</A
|
>Clocks and Timers [POSIX Section 14]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-message-passing.html"
|
HREF="posix-message-passing.html"
|
>Message Passing [POSIX Section 15]</A
|
>Message Passing [POSIX Section 15]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-thread-management.html"
|
HREF="posix-thread-management.html"
|
>Thread Management [POSIX Section 16]</A
|
>Thread Management [POSIX Section 16]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-thread-specific-data.html"
|
HREF="posix-thread-specific-data.html"
|
>Thread-Specific Data [POSIX Section 17]</A
|
>Thread-Specific Data [POSIX Section 17]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-thread-cancellation.html"
|
HREF="posix-thread-cancellation.html"
|
>Thread Cancellation [POSIX Section 18]</A
|
>Thread Cancellation [POSIX Section 18]</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="posix-non-posix-functions.html"
|
HREF="posix-non-posix-functions.html"
|
>Non-POSIX Functions</A
|
>Non-POSIX Functions</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DIV
|
></DIV
|
><P
|
><P
|
> eCos contains support for the POSIX Specification (ISO/IEC
|
> eCos contains support for the POSIX Specification (ISO/IEC
|
9945-1)[POSIX].
|
9945-1)[POSIX].
|
</P
|
</P
|
><P
|
><P
|
> POSIX support is divided between the POSIX and the FILEIO
|
> POSIX support is divided between the POSIX and the FILEIO
|
packages. The POSIX package provides support for threads,
|
packages. The POSIX package provides support for threads,
|
signals, synchronization, timers and message queues. The FILEIO
|
signals, synchronization, timers and message queues. The FILEIO
|
package provides support for file and device I/O. The two
|
package provides support for file and device I/O. The two
|
packages may be used together or separately, depending on
|
packages may be used together or separately, depending on
|
configuration.
|
configuration.
|
</P
|
</P
|
><P
|
><P
|
> This document takes a functional approach to the POSIX
|
> This document takes a functional approach to the POSIX
|
library. Support for a function implies that the data types and
|
library. Support for a function implies that the data types and
|
definitions necessary to support that function, and the objects
|
definitions necessary to support that function, and the objects
|
it manipulates, are also defined. Any exceptions to this are
|
it manipulates, are also defined. Any exceptions to this are
|
noted, and unless otherwise noted, implemented functions behave
|
noted, and unless otherwise noted, implemented functions behave
|
as specified in the POSIX standard.
|
as specified in the POSIX standard.
|
</P
|
</P
|
><P
|
><P
|
> This document only covers the differences between the eCos
|
> This document only covers the differences between the eCos
|
implementation and the standard; it does not provide complete
|
implementation and the standard; it does not provide complete
|
documentation. For full information, see the POSIX standard
|
documentation. For full information, see the POSIX standard
|
[POSIX]. Online, the Open Group Single Unix
|
[POSIX]. Online, the Open Group Single Unix
|
Specification [SUS2] provides complete documentation
|
Specification [SUS2] provides complete documentation
|
of a superset of POSIX. If you have access to a Unix system with
|
of a superset of POSIX. If you have access to a Unix system with
|
POSIX compatibility, then the manual pages for this will be of
|
POSIX compatibility, then the manual pages for this will be of
|
use. There are also a number of books available.
|
use. There are also a number of books available.
|
[Lewine] covers the process, signal, file and I/O
|
[Lewine] covers the process, signal, file and I/O
|
functions, while [Lewis1], [Lewis2],
|
functions, while [Lewis1], [Lewis2],
|
[Nichols] and [Norton] cover Pthreads and
|
[Nichols] and [Norton] cover Pthreads and
|
related topics (see Bibliography, xref). However, many of these
|
related topics (see Bibliography, xref). However, many of these
|
books are oriented toward using POSIX in non-embedded systems,
|
books are oriented toward using POSIX in non-embedded systems,
|
so care should be taken in applying them to programming under
|
so care should be taken in applying them to programming under
|
eCos.
|
eCos.
|
</P
|
</P
|
><P
|
><P
|
> The remainder of this chapter broadly follows the structure
|
> The remainder of this chapter broadly follows the structure
|
of the POSIX Specification. References to the appropriate
|
of the POSIX Specification. References to the appropriate
|
section of the Standard are included.
|
section of the Standard are included.
|
</P
|
</P
|
><P
|
><P
|
> Omitted functions marked with “// TBA”
|
> Omitted functions marked with “// TBA”
|
are potential candidates for later implementation.
|
are potential candidates for later implementation.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="SECT1"
|
CLASS="SECT1"
|
><H1
|
><H1
|
CLASS="SECT1"
|
CLASS="SECT1"
|
><A
|
><A
|
NAME="POSIX-PROCESS-PRIMITIVES">Process Primitives [POSIX Section 3]</H1
|
NAME="POSIX-PROCESS-PRIMITIVES">Process Primitives [POSIX Section 3]</H1
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN12979">Functions Implemented</H2
|
NAME="AEN12979">Functions Implemented</H2
|
><TABLE
|
><TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>int kill(pid_t pid, int sig);
|
>int kill(pid_t pid, int sig);
|
int pthread_kill(pthread_t thread, int sig);
|
int pthread_kill(pthread_t thread, int sig);
|
int sigaction(int sig, const struct sigaction *act,
|
int sigaction(int sig, const struct sigaction *act,
|
struct sigaction *oact);
|
struct sigaction *oact);
|
int sigqueue(pid_t pid, int sig, const union sigval value);
|
int sigqueue(pid_t pid, int sig, const union sigval value);
|
int sigprocmask(int how, const sigset_t *set,
|
int sigprocmask(int how, const sigset_t *set,
|
sigset_t *oset);
|
sigset_t *oset);
|
int pthread_sigmask(int how, const sigset_t *set,
|
int pthread_sigmask(int how, const sigset_t *set,
|
sigset_t *oset);
|
sigset_t *oset);
|
int sigpending(sigset_t *set);
|
int sigpending(sigset_t *set);
|
int sigsuspend(const sigset_t *set);
|
int sigsuspend(const sigset_t *set);
|
int sigwait(const sigset_t *set, int *sig);
|
int sigwait(const sigset_t *set, int *sig);
|
int sigwaitinfo(const sigset_t *set, siginfo_t *info);
|
int sigwaitinfo(const sigset_t *set, siginfo_t *info);
|
int sigtimedwait(const sigset_t *set, siginfo_t *info,
|
int sigtimedwait(const sigset_t *set, siginfo_t *info,
|
const struct timespec *timeout);
|
const struct timespec *timeout);
|
int sigemptyset(sigset_t *set);
|
int sigemptyset(sigset_t *set);
|
int sigfillset(sigset_t *set);
|
int sigfillset(sigset_t *set);
|
int sigaddset(sigset_t *set, int signo);
|
int sigaddset(sigset_t *set, int signo);
|
int sigdelset(sigset_t *set, int signo);
|
int sigdelset(sigset_t *set, int signo);
|
int sigismember(const sigset_t *set, int signo);
|
int sigismember(const sigset_t *set, int signo);
|
unsigned int alarm( unsigned int seconds );
|
unsigned int alarm( unsigned int seconds );
|
int pause( void );
|
int pause( void );
|
unsigned int sleep( unsigned int seconds );</PRE
|
unsigned int sleep( unsigned int seconds );</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN12982">Functions Omitted</H2
|
NAME="AEN12982">Functions Omitted</H2
|
><TABLE
|
><TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>pid_t fork(void);
|
>pid_t fork(void);
|
int execl( const char *path, const char *arg, ... );
|
int execl( const char *path, const char *arg, ... );
|
int execv( const char *path, char *const argv[] );
|
int execv( const char *path, char *const argv[] );
|
int execle( const char *path, const char *arg, ... );
|
int execle( const char *path, const char *arg, ... );
|
int execve( const char *path, char *const argv[],
|
int execve( const char *path, char *const argv[],
|
char *const envp[] );
|
char *const envp[] );
|
int execlp( const char *path, const char *arg, ... );
|
int execlp( const char *path, const char *arg, ... );
|
int execvp( const char *path, char *const argv[] );
|
int execvp( const char *path, char *const argv[] );
|
int pthread_atfork( void(*prepare)(void),
|
int pthread_atfork( void(*prepare)(void),
|
void (*parent)(void),
|
void (*parent)(void),
|
void (*child)() );
|
void (*child)() );
|
pid_t wait( int *stat_loc );
|
pid_t wait( int *stat_loc );
|
pid_t waitpid( pid_t pid, int *stat_loc,
|
pid_t waitpid( pid_t pid, int *stat_loc,
|
int options );
|
int options );
|
void _exit( int status );</PRE
|
void _exit( int status );</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN12985">Notes</H2
|
NAME="AEN12985">Notes</H2
|
><P
|
><P
|
></P
|
></P
|
><UL
|
><UL
|
><LI
|
><LI
|
><P
|
><P
|
> Signal handling may be enabled or disabled with the
|
> Signal handling may be enabled or disabled with the
|
CYGPKG_POSIX_SIGNALS option. Since signals are used
|
CYGPKG_POSIX_SIGNALS option. Since signals are used
|
by other POSIX components, such as timers, disabling signals will
|
by other POSIX components, such as timers, disabling signals will
|
disable those components too.
|
disable those components too.
|
</P
|
</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
> <SPAN
|
> <SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>kill()</I
|
>kill()</I
|
></SPAN
|
></SPAN
|
> and
|
> and
|
<SPAN
|
<SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>sigqueue()</I
|
>sigqueue()</I
|
></SPAN
|
></SPAN
|
> may only take a
|
> may only take a
|
<SPAN
|
<SPAN
|
CLASS="strong"
|
CLASS="strong"
|
><B
|
><B
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>pid</B
|
>pid</B
|
></SPAN
|
></SPAN
|
> argument of zero,
|
> argument of zero,
|
which maps to the current process.
|
which maps to the current process.
|
</P
|
</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
> The <SPAN
|
> The <SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>SIGEV_THREAD</I
|
>SIGEV_THREAD</I
|
></SPAN
|
></SPAN
|
> notification type is
|
> notification type is
|
not currently implemented.
|
not currently implemented.
|
</P
|
</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
> Job Control and Memory Protection signals are
|
> Job Control and Memory Protection signals are
|
not supported.
|
not supported.
|
</P
|
</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
> An extra implementation defined
|
> An extra implementation defined
|
<SPAN
|
<SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>si_code</I
|
>si_code</I
|
></SPAN
|
></SPAN
|
> value,
|
> value,
|
<SPAN
|
<SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>SI_EXCEPT</I
|
>SI_EXCEPT</I
|
></SPAN
|
></SPAN
|
>, is defined to
|
>, is defined to
|
distinguish hardware generated exceptions from
|
distinguish hardware generated exceptions from
|
others.
|
others.
|
</P
|
</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
> Extra signals are defined:
|
> Extra signals are defined:
|
_SIGTRAP_,_SIGIOT_,
|
_SIGTRAP_,_SIGIOT_,
|
_SIGEMT_, and _SIGSYS_. These are
|
_SIGEMT_, and _SIGSYS_. These are
|
largely to maintain compatibility with the signal numbers used by
|
largely to maintain compatibility with the signal numbers used by
|
GDB.
|
GDB.
|
</P
|
</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
> Signal delivery may currently occur at unexpected places in some
|
> Signal delivery may currently occur at unexpected places in some
|
API functions. Using <SPAN
|
API functions. Using <SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>longjmp()</I
|
>longjmp()</I
|
></SPAN
|
></SPAN
|
> to transfer
|
> to transfer
|
control out of a signal handler may result in the interrupted
|
control out of a signal handler may result in the interrupted
|
function not being able to complete properly. This may result in
|
function not being able to complete properly. This may result in
|
later function calls failing or deadlocking.
|
later function calls failing or deadlocking.
|
</P
|
</P
|
></LI
|
></LI
|
></UL
|
></UL
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NAVFOOTER"
|
CLASS="NAVFOOTER"
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"><TABLE
|
WIDTH="100%"><TABLE
|
SUMMARY="Footer navigation table"
|
SUMMARY="Footer navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="posix-compatibility.html"
|
HREF="posix-compatibility.html"
|
ACCESSKEY="P"
|
ACCESSKEY="P"
|
>Prev</A
|
>Prev</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="ecos-ref.html"
|
HREF="ecos-ref.html"
|
ACCESSKEY="H"
|
ACCESSKEY="H"
|
>Home</A
|
>Home</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="posix-process-environment.html"
|
HREF="posix-process-environment.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
>eCos POSIX compatibility layer</TD
|
>eCos POSIX compatibility layer</TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="posix-compatibility.html"
|
HREF="posix-compatibility.html"
|
ACCESSKEY="U"
|
ACCESSKEY="U"
|
>Up</A
|
>Up</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
>Process Environment [POSIX Section 4]</TD
|
>Process Environment [POSIX Section 4]</TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></BODY
|
></BODY
|
></HTML
|
></HTML
|
|
|