diff --git a/include/pthread.h b/include/pthread.h index 4fd3bfdfb3..602f6af0cb 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -697,6 +697,10 @@ int pthread_spin_trylock(FAR pthread_spinlock_t *lock); int pthread_spin_unlock(FAR pthread_spinlock_t *lock); #endif +int pthread_atfork(CODE void (*prepare)(void), + CODE void (*parent)(void), + CODE void (*child)(void)); + #ifdef __cplusplus } #endif diff --git a/libs/libc/pthread/Make.defs b/libs/libc/pthread/Make.defs index b4ba9959ea..33a5e8b9be 100644 --- a/libs/libc/pthread/Make.defs +++ b/libs/libc/pthread/Make.defs @@ -48,7 +48,7 @@ CSRCS += pthread_mutexattr_setprotocol.c pthread_mutexattr_getprotocol.c CSRCS += pthread_mutexattr_settype.c pthread_mutexattr_gettype.c CSRCS += pthread_mutexattr_setrobust.c pthread_mutexattr_getrobust.c CSRCS += pthread_mutex_lock.c -CSRCS += pthread_once.c pthread_yield.c +CSRCS += pthread_once.c pthread_yield.c pthread_atfork.c CSRCS += pthread_rwlock.c pthread_rwlock_rdlock.c pthread_rwlock_wrlock.c CSRCS += pthread_setcancelstate.c pthread_setcanceltype.c CSRCS += pthread_testcancel.c diff --git a/libs/libc/pthread/pthread_atfork.c b/libs/libc/pthread/pthread_atfork.c new file mode 100644 index 0000000000..a3dd269a58 --- /dev/null +++ b/libs/libc/pthread/pthread_atfork.c @@ -0,0 +1,38 @@ +/**************************************************************************** + * libs/libc/pthread/pthread_atfork.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +int pthread_atfork(CODE void (*prepare)(void), + CODE void (*parent)(void), + CODE void (*child)(void)) +{ + /* fork isn't supported yet, so the dummy implementation is enough. */ + + return 0; +}