* include/sys/wait.h: Move definition of wait constants from here...

* include/cygwin/wait.h: ...to here.  New file.
	* include/cygwin/stdlib.h: Include cygwin/wait.h to conform with SUSv3.
This commit is contained in:
Corinna Vinschen 2006-06-12 14:25:05 +00:00
parent e3f56b2b3d
commit 184574d61c
4 changed files with 46 additions and 22 deletions

View File

@ -1,3 +1,9 @@
2006-06-12 Corinna Vinschen <corinna@vinschen.de>
* include/sys/wait.h: Move definition of wait constants from here...
* include/cygwin/wait.h: ...to here. New file.
* include/cygwin/stdlib.h: Include cygwin/wait.h to conform with SUSv3.
2006-06-12 Pierre Humblet Pierre.Humblet@ieee.org 2006-06-12 Pierre Humblet Pierre.Humblet@ieee.org
* heap.cc (heap_init): Only commit if allocsize is not zero. * heap.cc (heap_init): Only commit if allocsize is not zero.

View File

@ -1,6 +1,6 @@
/* stdlib.h /* stdlib.h
Copyright 2005 Red Hat Inc. Copyright 2005, 2006 Red Hat Inc.
This file is part of Cygwin. This file is part of Cygwin.
@ -10,6 +10,9 @@ details. */
#ifndef _CYGWIN_STDLIB_H #ifndef _CYGWIN_STDLIB_H
#define _CYGWIN_STDLIB_H #define _CYGWIN_STDLIB_H
#include <cygwin/wait.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {

View File

@ -0,0 +1,34 @@
/* cygwin/wait.h
Copyright 2006 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#ifndef _CYGWIN_WAIT_H
#define _CYGWIN_WAIT_H
#define WNOHANG 1
#define WUNTRACED 2
/* A status looks like:
<2 bytes info> <2 bytes code>
<code> == 0, child has exited, info is the exit value
<code> == 1..7e, child has exited, info is the signal number.
<code> == 7f, child has stopped, info was the signal number.
<code> == 80, there was a core dump.
*/
#define WIFEXITED(w) (((w) & 0xff) == 0)
#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f)
#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
#define WTERMSIG(w) ((w) & 0x7f)
#define WSTOPSIG WEXITSTATUS
#define WCOREDUMP(w) (WIFSIGNALED(w) && (w & 0x80))
#endif /* _CYGWIN_WAIT_H */

View File

@ -1,6 +1,6 @@
/* sys/wait.h /* sys/wait.h
Copyright 1997, 1998, 2001, 2002, 2003, 2004 Red Hat, Inc. Copyright 1997, 1998, 2001, 2002, 2003, 2004, 2006 Red Hat, Inc.
This file is part of Cygwin. This file is part of Cygwin.
@ -13,31 +13,12 @@ details. */
#include <sys/types.h> #include <sys/types.h>
#include <sys/resource.h> #include <sys/resource.h>
#include <cygwin/wait.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#define WNOHANG 1
#define WUNTRACED 2
/* A status looks like:
<2 bytes info> <2 bytes code>
<code> == 0, child has exited, info is the exit value
<code> == 1..7e, child has exited, info is the signal number.
<code> == 7f, child has stopped, info was the signal number.
<code> == 80, there was a core dump.
*/
#define WIFEXITED(w) (((w) & 0xff) == 0)
#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f)
#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
#define WTERMSIG(w) ((w) & 0x7f)
#define WSTOPSIG WEXITSTATUS
#define WCOREDUMP(w) (WIFSIGNALED(w) && (w & 0x80))
pid_t wait (int *); pid_t wait (int *);
pid_t waitpid (pid_t, int *, int); pid_t waitpid (pid_t, int *, int);
pid_t wait3 (int *__status, int __options, struct rusage *__rusage); pid_t wait3 (int *__status, int __options, struct rusage *__rusage);