通信的服务端程序,用
if (select(nfds, &rfds., (fd_set *)0,. (fd_set *)0, 汽车
. (struct timeval *)0) .< 0)教育
errexit("select: %s\n", .strerror.(errno));.
来等待接收客户端的连接.
同时还要有一个定时写某共.享内存.的操作,2.4下是创建一个线程,在线程里设置定时器,使用没问题。.
如下:
voi.d thread(void)服务器
{
. signal(SIGALRM., sigalrm_handler); 鲜花
set_timer.(); 电子
w.hile(1)--------------彩票
{
}
}
void. set_timer()[成人用品]
{
. . struct itimerval itv, oldtv;.
itv.i.t_interval.tv_s.ec = 5;.
. itv.it._interval.tv_usec = 0; 健康
. itv.it._value.tv_sec = 5;--- 印刷
. itv.it_value.tv_usec. = 0;.
setit.imer(ITIM.ER_REAL, &itv, &oldtv);域名
. pr.intf("settime\n"); 美容
}
void .sig.alrm_handler(int sig) 女人
{
count.++; 外汇
printf.("timer signal.. %d\n", count).;--- 印刷
}
main()
{
......
pthread_t id;
. int ret;--- 印刷
. ret=pthread_create(&id,NULL,(void*(*)(void*))thread,NULL.);教育
.......
}
但移到2。6内核后,就提示说
select: inter.rupted system call.服务器
为什么?因为是要用的时候直接网上找了些例子,没有对定时器深入.理解,所以请教各位了.!谢谢!!域名
是不是发错版了.?请版主移到编程问题那一版!谢谢.了!!<性病>
[ 本帖最后由 tomorrow053.0 于 2007-6-.6 17:33 编辑 ] 美容