[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED] Add pthread_atfork() function
For now, Unikraft does not support fork(), so we will just print an warning saying that. Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx> --- Makefile.uk | 1 + exportsyms.uk | 1 + include/pthread.h | 3 +++ pthread_atfork.c | 31 +++++++++++++++++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 pthread_atfork.c diff --git a/Makefile.uk b/Makefile.uk index 8ee5d36..9b6b3b6 100644 --- a/Makefile.uk +++ b/Makefile.uk @@ -66,6 +66,7 @@ LIBPTHREAD-EMBEDDED_EXPORTS = $(LIBPTHREAD-EMBEDDED_BASE)/exportsyms.uk ################################################################################ LIBPTHREAD-EMBEDDED_SRCS-y += $(LIBPTHREAD-EMBEDDED_BASE)/pte_osal.c|glue LIBPTHREAD-EMBEDDED_SRCS-y += $(LIBPTHREAD-EMBEDDED_BASE)/attributes.c|glue +LIBPTHREAD-EMBEDDED_SRCS-y += $(LIBPTHREAD-EMBEDDED_BASE)/pthread_atfork.c|glue ################################################################################ # pthread-embedded code diff --git a/exportsyms.uk b/exportsyms.uk index 24b5c02..1855b63 100644 --- a/exportsyms.uk +++ b/exportsyms.uk @@ -83,6 +83,7 @@ pthread_rwlockattr_destroy pthread_rwlockattr_getpshared pthread_rwlockattr_setpshared pthread_kill +pthread_atfork sched_yield sched_get_priority_min sched_get_priority_max diff --git a/include/pthread.h b/include/pthread.h index 799f39b..c1ebcea 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -29,6 +29,9 @@ extern "C" { /* The C code in pthread.h is not guarded for C++ */ #include_next <pthread.h> +int pthread_atfork(void (*prepare)(void), + void (*parent)(void), void (*child)(void)); + /* C functions not implemented in pthread-embedded */ int pthread_attr_setguardsize(pthread_attr_t *attr, size_t guardsize); int pthread_attr_getguardsize(const pthread_attr_t *attr, size_t *guardsize); diff --git a/pthread_atfork.c b/pthread_atfork.c new file mode 100644 index 0000000..0daf1b8 --- /dev/null +++ b/pthread_atfork.c @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: LGPL-2.0-or-later */ +/* + * Unikraft port of POSIX Threads Library for embedded systems + * Copyright(C) 2019 Costin Lupu, University Politehnica of Bucharest + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library in the file COPYING.LIB; + * if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <pthread.h> +#include <uk/print.h> + + +int pthread_atfork(void (*prepare)(void), + void (*parent)(void), void (*child)(void)) +{ + uk_pr_warn("Unikraft does not support fork yet!"); + return 0; +} -- 2.11.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |