################################################################################
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
/* 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);
--- /dev/null
+/* 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;
+}