컴퓨터에 문제가 많아 윈도우와 리눅스를 수십차례 지우고 깔고를 반복하고 있었는데요... 음.. 이게 문제라는 건 아니고...
리눅스 인스톨중에 파티션 정하는거로 넘어가는 스텝에서
박스 메시지가 하나 나오고 ignore랑 cancel을 고르는게
있었습니다. 제가 대충 읽어서 정확하진 않지만 "부트로더가
이상해서 MBR를 제대로 못읽을 지도 모르는데 그래도
계속하려면 ignore를 해라. " 의 의미였던거 같습니다.
nonblocking 소켓입니다.
main thread에서 io_thread를 하나 생성하고,
io_thread에서 work_thread를 여러개 생성하였습니다.
io_thread는 select() 하고 데이타를 recv() 합니다.
그리고나서 놀고있는 work_thread를 찾아 recv한 데이타를 넘깁니다.
[code:1]
/* work thread */
struct {
pthread_mutex_t mutex;
pthread_cond_t cond;
int ready;
int sfd; /* 이벤트 발생한 소켓 */
int status; /* 1 is running, 0 is sleep */
char buff[MSG_BUFFER];
}WK_thread[MAXNTHREADS];