1. Добавить библиотеку pthread в линкер
2. Не получилось передать функцию члена класса в pthread_create ( Есть способы это сделать, но сложно и как то не красиво получается )
3. При попытке использовать std::thread ругается -- данный компилятор не поддерживает что-то
#include <ButtonListener.h>
#include <pthread.h>
#include "BBDirectGPIO.h"
#include "BBConfig.h"
using namespace bbb;
namespace firelib {
ButtonListener::ButtonListener() {
isRun = true;
int result = pthread_create(&mainThread, NULL, runListener, (void *)this);
if( result != 0 ){
}
}
ButtonListener::~ButtonListener() {
isRun = false;
pthread_join(mainThread, NULL);
}
static void * runListener(void *arg) {
ButtonListener* curListener = reinterpret_cast<ButtonListener*>(arg);
while( curListener->isRun){
<**>
}
}