Simon South created THRIFT-3498: ----------------------------------- Summary: C++ library assumes optional function pthread_attr_setschedpolicy is available Key: THRIFT-3498 URL: https://issues.apache.org/jira/browse/THRIFT-3498 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.9.4 Environment: gcc 4.8.5 on Haiku hrev49934 (x86) Reporter: Simon South Assignee: Simon South Priority: Minor
Building on [Haiku|http://haiku-os.org/] the latest code from git fails with {noformat} src/thrift/concurrency/PosixThreadFactory.cpp: In member function 'virtual void apache::thrift::concurrency::PthreadThread::start()': src/thrift/concurrency/PosixThreadFactory.cpp:127:58: error: 'pthread_attr_setschedpolicy' was not declared in this scope if (pthread_attr_setschedpolicy(&thread_attr, policy_) != 0) { {noformat} This is because {{pthread_attr_setschedpolicy}} is in fact an optional function POSIX implementations are not required to provide—and Haiku's POSIX-compatibility layer does not. Thrift should be checking for the availability of this function before including it in the source code. (Nothing else seems to rely on the thread-scheduling policy being available, so it's just a matter of omitting this one function call.) -- This message was sent by Atlassian JIRA (v6.3.4#6332)