From c58049d48d7081fad18ae2abbe9ca572309ded5f Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 25 Jul 2020 20:05:29 +0200 Subject: [PATCH] mescc: Mes C Library: Add waitpid for M2-Planet. * lib/m2/waitpid.c: New file. --- lib/m2/waitpid.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lib/m2/waitpid.c diff --git a/lib/m2/waitpid.c b/lib/m2/waitpid.c new file mode 100644 index 00000000..a3d98d1d --- /dev/null +++ b/lib/m2/waitpid.c @@ -0,0 +1,39 @@ +/* -*-comment-start: "//";comment-end:""-*- + * GNU Mes --- Maxwell Equations of Software + * Copyright © 2016,2017,2018,2019,2020,2022 Jan (janneke) Nieuwenhuizen + * + * This file is part of GNU Mes. + * + * GNU Mes is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or (at + * your option) any later version. + * + * GNU Mes is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Mes. If not, see . + */ + +#include +#include +#include +#include + +int +waitpid (int pid, int *status_ptr, int options) +{ + long long_pid = pid; + long long_status_ptr = cast_voidp_to_long (status_ptr); + long long_options = options; +//##if __i386__ +//# return _sys_call3 (SYS_waitpid, long_pid, long_status_ptr, long_options); +//##elif __x86_64__ || __arm__ + return _sys_call4 (SYS_wait4, long_pid, long_status_ptr, long_options, 0); +//##else +//##error arch not supported +//##endif +}