[haiku-commits] r34091 - in haiku/trunk: headers/compatibility/bsd/sys src/libs/bsd

Author: bga
Date: 2009-11-17 16:53:17 +0100 (Tue, 17 Nov 2009)
New Revision: 34091
Changeset: http://dev.haiku-os.org/changeset/34091/haiku

Added:
   haiku/trunk/headers/compatibility/bsd/sys/wait.h
   haiku/trunk/src/libs/bsd/wait.c
Modified:
   haiku/trunk/src/libs/bsd/Jamfile
Log:
- Added wait3() and wait4() to the bsd compatibility library.
- Untested, but should work (will test it when I get home later today).
- This is my first attempt at adding something for compatibility reasons. Let
  me know if something in wrong.



Added: haiku/trunk/headers/compatibility/bsd/sys/wait.h
===================================================================
--- haiku/trunk/headers/compatibility/bsd/sys/wait.h                            
(rev 0)
+++ haiku/trunk/headers/compatibility/bsd/sys/wait.h    2009-11-17 15:53:17 UTC 
(rev 34091)
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2009, Haiku, Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _BSD_SYS_WAIT_H_
+#define _BSD_SYS_WAIT_H_
+
+
+#include_next <sys/wait.h>
+
+#include <sys/resource.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+pid_t wait3(int *status, int options, struct rusage *rusage);
+
+pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BSD_SYS_WAIT_H_ */

Modified: haiku/trunk/src/libs/bsd/Jamfile
===================================================================
--- haiku/trunk/src/libs/bsd/Jamfile    2009-11-17 14:56:51 UTC (rev 34090)
+++ haiku/trunk/src/libs/bsd/Jamfile    2009-11-17 15:53:17 UTC (rev 34091)
@@ -18,4 +18,5 @@
        unvis.c
        usershell.c
        vis.c
+       wait.c
 ;

Added: haiku/trunk/src/libs/bsd/wait.c
===================================================================
--- haiku/trunk/src/libs/bsd/wait.c                             (rev 0)
+++ haiku/trunk/src/libs/bsd/wait.c     2009-11-17 15:53:17 UTC (rev 34091)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2009, Haiku, Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Bruno Albuquerque, bga@xxxxxxxxxxxxx
+ */
+
+
+#include <sys/wait.h>
+
+
+pid_t
+wait3(int *status, int options, struct rusage *rusage) {
+  return wait4(-1, status, options, rusage);
+}
+
+
+pid_t
+wait4(pid_t pid, int *status, int options, struct rusage *rusage) {
+  pid_t waitPid = waitpid(pid, status, options);
+  getrusage(RUSAGE_CHILDREN, rusage);
+
+  return waitPid;
+}
+


Other related posts: