event lib 사용시에 비동기 처리가 되는지에 대한 질문입니다.
글쓴이: trymp / 작성시간: 목, 2012/10/04 - 10:38오전
Non-thread 프로그램상에서 아래와 같은 event library 를 사용한다고 할 때,
TCP 세션이 생기면 accept_cb() 가 호출되고 여기서 read event 시에 받은 data를
file write 같은 특정작업을 하고자 합니다.
이 때 file write 를 하고 있을 때 다른 tcp connection 이 오면 file write 를 하다가도 다시
accept_cb() 가 호출될수 있나요???
event lib 가 비동기적으로 지금 하던 작업을 중단하고 tcp connection 처리를 해서 multi-thread 처럼
사용될 수 있는지 궁금합니다.
고수님들의 많은 조언 부탁드립니다.
struct event_base *base; struct evconnlistener *listener; struct sockaddr_in sin; base = event_base_new(); if (base == NULL) { //Error handle } memset(&sin, 0, sizeof(sin)); sin.sin_family = AF_INET; sin.sin_addr.s_addr = htonl(INADDR_ANY); sin.sin_port = htons(90); listener = evconnlistener_new_bind(base, accept_cb, NULL, LEV_OPT_CLOSE_ON_FREE|LEV_OPT_REUSEABLE, -1, (struct sockaddr*)&sin, sizeof(sin));
Forums:
댓글 달기