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)

Reply via email to