This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 9/5/19 3:16 PM, Ken Brown wrote: > The following packages have been uploaded to the Cygwin distribution > as test releases: > > * cygwin-3.1.0-0.4 > * cygwin-devel-3.1.0-0.4 > * cygwin-doc-3.1.0-0.4 > - New APIs: sched_getaffinity, sched_setaffinity, pthread_getaffinity_np, > pthread_setaffinity_np, plus CPU_SET macros. There's some problem with <sched.h>, seen with boost-1.71.0/bootstrap.sh, even after tweaking their sysinfo.cpp like this to include <sched.h>: -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_CYGWIN) This boils down to a test case like this that succeeds to *compile* on Linux, although requires _GNU_SOURCE to be defined earlier to perform anything useful: $ cat > test.cc <<'EOF' #ifdef LIKE_BOOST # include <pthread.h> # define _GNU_SOURCE #endif #include <sched.h> int main() { #if defined(CPU_COUNT_S) ::cpu_set_t cpu_set; if (::sched_getaffinity(0, sizeof(cpu_set_t), &cpu_set) == 0) { return CPU_COUNT_S(sizeof(cpu_set_t), &cpu_set); } #endif return 0; } EOF Both these commands fail to compile on Cygwin with identical error: $ g++ test.c -DLIKE_BOOST $ g++ test.c test.c: In function ‘main’: test.c:10:7: warning: implicit declaration of function ‘sched_getaffinity’; did you mean ‘sched_getparam’? [-Wimplicit-function-declaration] if (sched_getaffinity(0, sizeof(cpu_set_t), &cpu_set) == 0) ^~~~~~~~~~~~~~~~~ sched_getparam Actually it is boost's fault to include <pthread.h> before defining _GNU_SOURCE, but it feels like Cygwin should *not* define CPU_COUNT_S without _GNU_SOURCE. Thoughts? /haubi/ PS: This does work as expected: $ g++ test.c -D_GNU_SOURCE -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |