naja einen interrupt gibt es nicht ganz aber es gibt eine Wait funktion.

ich denke du programmierst unter windows sonst brauchst du nicht weiter lesen.

Code:
//init
 m_hCOM = CreateFile(m_csCOM.operator LPCTSTR(),GENERIC_WRITE | GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
    if(m_hCOM == INVALID_HANDLE_VALUE)
    {
        return false;
    }

// lesen
        ReadFile(m_hCOM,Buffer,1,&readen,&o);
        WaitForSingleObject(o.hEvent,INFINITE);
        GetOverlappedResult(m_hCOM,&o,&Bytes,FALSE);
Das waitforsingeleObject kommt erst zurrück wenn ein zeichen geslesen wurde.

Gruß