diff --git a/Documentation/NuttXCCodingStandard.html b/Documentation/NuttXCCodingStandard.html index 9f1778231d..56db45c4e4 100644 --- a/Documentation/NuttXCCodingStandard.html +++ b/Documentation/NuttXCCodingStandard.html @@ -2022,8 +2022,11 @@ ptr = (FAR struct somestruct_s *)value;
if
, else
, for
, while
, do
.
+ Local variable definitions are also acceptable at the beginning of these compound statements as with any other.
+ Incorrect ++ int myfunction(int a, int b) + { + int c, d; + c = a + d = b; + + int e = c + d; + + for (int i = 0; i < b; i++) + { + e += d; + } + + return e / a; + } ++ |
+ Correct ++ int myfunction(int a, int b) + { + int c; + int d; + int e; + int i; + + c = a + d = b; + e = c + d; + + for (i = 0; i < b; i++) + { + e += d; + } + + return e / a; + } ++ |
diff --git a/include/signal.h b/include/signal.h index b790c8dc16..d54ded2fea 100644 --- a/include/signal.h +++ b/include/signal.h @@ -68,6 +68,62 @@ #define SIGRTMIN MIN_SIGNO /* First real time signal */ #define SIGRTMAX MAX_SIGNO /* Last real time signal */ +/* NuttX does not support standard signal actions. NuttX supports only what + * are referred to as "real time" signals. The default action of all NuttX + * signals is to simply ignore the signal. + * + * This is not POSIX compliant. Per OpenGroup.org: The following signals + * and default signal action s must be supported on all implementations: + * + * ---------- ------- ---------------------------------------------------- + * Signal Default Description + * Name Action + * ---------- ------- ---------------------------------------------------- + * SIGABRT A Process abort signal + * SIGALRM T Alarm clock + * SIGBUS A Access to an undefined portion of a memory object + * SIGCHLD I Child process terminated, stopped + * (or continued XSI extension) + * SIGCONT C Continue executing, if stopped + * SIGFPE A Erroneous arithmetic operation + * SIGHUP T Hangup + * SIGILL A Illegal instruction + * SIGINT T Terminal interrupt signal + * SIGKILL T Kill (cannot be caught or ignored) + * SIGPIPE T Write on a pipe with no one to read it + * SIGQUIT A Terminal quit signal + * SIGSEGV A Invalid memory reference + * SIGSTOP S Stop executing (cannot be caught or ignored) + * SIGTERM T Termination signal + * SIGTSTP S Terminal stop signal + * SIGTTIN S Background process attempting read + * SIGTTOU S Background process attempting write + * SIGUSR1 T User-defined signal 1 + * SIGUSR2 T User-defined signal 2 + * SIGPOLL T Poll-able event (XSI extension) + * SIGPROF T Profiling timer expired (XSI extension) + * SIGSYS A Bad system call (XSI extension) + * SIGTRAP A Trace/breakpoint trap (XSI extension) + * SIGURG I High bandwidth data is available at a socket + * SIGVTALRM T Virtual timer expired (XSI extension) + * SIGXCPU A CPU time limit exceeded (XSI extension) + * SIGXFSZ A File size limit exceeded (XSI extension) + * ---------- ------- ---------------------------------------------------- + * + * Where default action codes are: + * + * T Abnormal termination of the process. The process is terminated with + * all the consequences of _exit() except that the status made available + * to wait() and waitpid() indicates abnormal termination by the + * specified signal. + * A Abnormal termination of the process. Additionally ith the XSI + * extension, implementation-defined abnormal termination actions, such + * as creation of a core file, may occur. + * I Ignore the signal. + * S Stop the process. + * C Continue the process, if it is stopped; otherwise, ignore the signal. + */ + /* A few of the real time signals are used within the OS. They have * default values that can be overridden from the configuration file. The * rest are all user signals.