/* * KeyChecker.cpp * * Created on: 2009/05/26 */ #include "KeyChecker.h" void KeyChecker::run() { char c; //printf("KeyChecker:START\n"); do{ c = getchar(); printf("KeyChecker:%c\n",c); }while(c != '\n' && mShutOff == 0); raise(SIGINT);//自分のプロセスに割り込み(Ctrl-C)シグナルを送る } void* KeyChecker::createThread(void* aParam) { if(aParam == NULL) { //fprintf(stderr,"KeyChecker:ERROR\n"); return NULL; } KeyChecker *p = (KeyChecker*)aParam; p->run(); pthread_exit(NULL); } KeyChecker::KeyChecker() { mShutOff = 0; mStarted = 0; } KeyChecker::~KeyChecker() { if(mStarted == 1) { mShutOff = 1; pthread_join(mThreadID,NULL); } } int KeyChecker::start() { mStarted = 1; return pthread_create(&mThreadID, NULL, KeyChecker::createThread, this); }