Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: namespace pollution? clone()
On Tue, Jul 26, 2022 at 03:03:54PM +0200, Martin Husemann wrote:
> On Tue, Jul 26, 2022 at 03:46:14PM +0300, Valery Ushakov wrote:
> > On Linux clone(2) is declared only for _GNU_SOURCE, which explains why
> > linux doesn't run into the name clash. I gather we should follow
> > suit, as that's what the apps expect.
>
> Yes, that is the right thing to do here, especially as clone(2) does
> only exist as a portability helper for linux code.
>
> I think we could even pull that change up to -9.
The attached diff survived a complete amd64-current build. Ok to commit?
Thomas
Index: sched.h
===================================================================
RCS file: /cvsroot/src/include/sched.h,v
retrieving revision 1.12
diff -u -r1.12 sched.h
--- sched.h 11 Jan 2009 03:04:12 -0000 1.12
+++ sched.h 1 Aug 2022 13:57:06 -0000
@@ -59,20 +59,26 @@
#define sched_yield __libc_thr_yield
#endif /* __LIBPTHREAD_SOURCE__ */
-#if defined(_NETBSD_SOURCE)
-
__BEGIN_DECLS
+#if defined(_NETBSD_SOURCE)
+
/* Process affinity functions (not portable) */
int sched_getaffinity_np(pid_t, size_t, cpuset_t *);
int sched_setaffinity_np(pid_t, size_t, cpuset_t *);
+#endif /* _NETBSD_SOURCE */
+
+#if defined(_GNU_SOURCE)
+
/* Historical functions, not defined in standard */
+/* Linux man page documents these functions as only available when
+ * _GNU_SOURCE is defined */
pid_t clone(int (*)(void *), void *, int, void *);
pid_t __clone(int (*)(void *), void *, int, void *);
-__END_DECLS
+#endif /* _GNU_SOURCE */
-#endif /* _NETBSD_SOURCE */
+__END_DECLS
#endif /* _SCHED_H_ */
Home |
Main Index |
Thread Index |
Old Index