libc/pthread: Implement pthread_atfork

fork isn't supported yet, so the dummy implementation is enough.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao 2021-11-22 14:00:24 +08:00 committed by Gustavo Henrique Nihei
parent d2b693a204
commit 91f616e824
3 changed files with 43 additions and 1 deletions

View File

@ -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

View File

@ -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

View File

@ -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 <pthread.h>
/****************************************************************************
* 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;
}