zig/lib/libc/include/generic-glibc/sys/single_threaded.h
Marc 75d6d4c3f2
add glibc versioning for a number of headers (#24237)
* getrandom was added in glibc 2.25
https://sourceware.org/bugzilla/show_bug.cgi?id=17252

* copy_file_range was added in glibc 2.27
https://sourceware.org/git/?p=glibc.git;a=commit;h=bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f

* threads.h should not exist for glibc < 2.28

* single_threaded.h should not exist for glibc < 2.35

* Apply suggestions from code review

Co-authored-by: Alex Rønne Petersen <alex@alexrp.com>

* 2.35 instead of 35

* before 2.35 instead of 2.34 and before

---------

Co-authored-by: Alex Rønne Petersen <alex@alexrp.com>
2025-06-24 16:14:00 +00:00

38 lines
1.4 KiB
C
Vendored

/* Support for single-thread optimizations.
Copyright (C) 2020-2025 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/>. */
// zig patch: sys/single_threaded.h header was added in glibc 2.35
#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 35
#error "sys/single_threaded.h did not exist before glibc 2.35"
#endif /* error for glibc before 2.35 */
#ifndef _SYS_SINGLE_THREADED_H
#define _SYS_SINGLE_THREADED_H
#include <features.h>
__BEGIN_DECLS
/* If this variable is non-zero, then the current thread is the only
thread in the process image. If it is zero, the process might be
multi-threaded. */
extern char __libc_single_threaded;
__END_DECLS
#endif /* _SYS_SINGLE_THREADED_H */