PortAudio API 를 사용하는 중 쓰레드를 사용하고 싶어 글을 남깁니다. 


PortAudio 의 paex_record_file.c 를 보고 만들고 있습니다. 아래의 win32 소스를 linux용으로 바꾸고 싶습니다. 


매우쉽다고 나와있는데 저는 매우 어렵내요 ㅠㅠ 고수분들의 도움이 필요합니다. 


/* Start up a new thread in the given function, at the moment only Windows, but should be very easy to extend

   to posix type OSs (Linux/Mac) */

static PaError startThread( paTestData* pData, ThreadFunctionType fn )

{

#ifdef _WIN32

    typedef unsigned (__stdcall* WinThreadFunctionType)(void*);

    pData->threadHandle = (void*)_beginthreadex(NULL, 0, (WinThreadFunctionType)fn, pData, CREATE_SUSPENDED, NULL);

    if (pData->threadHandle == NULL) return paUnanticipatedHostError;


    /* Set file thread to a little higher prio than normal */

    SetThreadPriority(pData->threadHandle, THREAD_PRIORITY_ABOVE_NORMAL);


    /* Start it up */

    pData->threadSyncFlag = 1;

    ResumeThread(pData->threadHandle);

while (pData->threadSyncFlag) {
        Pa_Sleep(10);
    }

    return paNoError;
}