我用了wait()函数,父进程中fork了10个进程,结果最后调用wait,立即返回-1,郁闷!
by dongfangyu - C/C++ - 2003-09-13 22:03:36 阅读(852) 回复(1)
相信很多人看《unix环境高级编程》都看过下面的代码,
#include
应用程序的select()系统调用,调用驱动中的poll()方法。 不理解的是在下面的poll()方法实现中,首先调用poll_wait将等待队列添加到wait结构中,接下来是个判断语句 if (dev->rp != dev->wp) mask |= POLLIN | POLLRDNORM; /* readable */ 只考虑可读情况。如果这个if语句的条件不满足,那么就不会返回可读,也就是返回0。那么在这里怎么实现阻塞的呢?也就是说如果在应用的select()系统中,指定一个等待时间,在...
#include
启动从服务器时,从服务器可以自动补齐与主服务器之间的差距,请问在什么时候需要用master_pos_wait这个函数?:shock: [ 本帖最后由 wangxu0588 于 2006-1-27 11:43 编辑 ]
typedef struct sipt_timer_set TimerSet; struct sipt_timer_set { int numOfTimer; //CrlData timerCrl; sem_t mutex; struct itimerval newitimer; struct itimerval olditimer; list_t timerList; }; typedef struct response_Crl_Set { //CrlData timerCrl; sipt_list resplist; sem_t mutex, nresp; int resp_thread_run; pthread_t resp_thread; }RespCrlSet; //2个全局变量 extern TimerSet *timerse...
是这样 的,我做一个 epoll 服务器 程序, 在正常的通信后,不知道为什么,epoll_wait 函数就停止响应了。 不知道怎么搞的 。 请大家指教 。
想用wait()来获得任一子进程的结束 #include "sys/types.h" #include "sys/wait.h" #include "stdio.h" main() { pid_t pid; if((pid=fork())<0) {printf("fork error."); exit(0); } else if (pid==0) { printf("1 ID:%d\n",getpid()); if ((pid=fork())<0) {printf("fork error."); exit(0); } else if (pid==0) { printf("2 ID:%d\n",getpid()); exit(0); } else sleep(2); } else printf("...