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)