[질문] epoll 부적절한 인수?

neverdie의 이미지

CTestObject::RESULT CTestObject::DispatchRecv()
{
	static int iEventCount = 0,
		i = 0,
		iReadBytes = 0;

	if( !m_bIsSet )
	{
		m_pEvents->events = EPOLLIN;
		m_pEvents->data.fd = m_iFD;
		epoll_ctl( m_iEpoll_FD, EPOLL_CTL_ADD, m_iFD, m_pEvents );
		m_bIsSet = TRUE;
	}
	
	/*
		CTestObject를 처음 생성하면 잘 작동한다. 두번째부터 "부적절한 인수" 에러가 난다. 
	*/
	iEventCount = epoll_wait( m_iEpoll_FD, m_pEvents, 10, 0 );
	if( -1 == iEventCount )
	{
		perror( "epoll wait error");
		return IO_ERROR;
	}
		
	return NO_ERROR;
}

-----------------------
현재 QT로 epoll을 테스트하는 프로그램을 만들었습니다.
[생성]버튼을 누르면 epoll을 랩핑한 클래스의 인스턴스가 Thread안에서 돌고 있습니다. [종료]버튼을 누르면 Thread인스턴스가 해제되면서 epoll을 랩핑한 클래스 인스턴스도 해제됩니다. 그런데 [생성]버튼을 누르면 epoll_wait에서 "부적절한 인수"라고 에러가 납니다. 프로그램을 다시 시작하면 잘 되는데... 왜 그런건가요?

읽어주셔서 감사합니다.