mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 13:13:43 +08:00
9a75654037
The Linux nptl implementation is used as base for generic fork implementation to handle the internal locks and mutexes. The system specific bits are moved a new internal _Fork symbol. (This new implementation will be used to provide a async-signal-safe _Fork now that POSIX has clarified that fork might not be async-signal-safe [1]). For Hurd it means that the __nss_database_fork_prepare_parent and __nss_database_fork_subprocess will be run in a slight different order. [1] https://austingroupbugs.net/view.php?id=62
35 lines
1.2 KiB
C
35 lines
1.2 KiB
C
/* _Fork implementation. Generic version.
|
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C 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.1 of the License, or (at your option) any later version.
|
|
|
|
The GNU C 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 the GNU C Library; if not, see
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#include <errno.h>
|
|
#include <unistd.h>
|
|
|
|
/* Clone the calling process, creating an exact copy. Return -1 for errors,
|
|
0 to the new process, and the process ID of the new process to the
|
|
old process.
|
|
Different than fork, this functions is marked as async-signal-safe by
|
|
POSIX (by Austin Group issue 62). */
|
|
pid_t
|
|
_Fork (void)
|
|
{
|
|
__set_errno (ENOSYS);
|
|
return -1;
|
|
}
|
|
libc_hidden_def (_Fork)
|
|
stub_warning (_Fork)
|