网络daemon程序的有关问题

网络daemon程序的有关问题

网络daemon程序的问题
fork…
setsid…
fork…
chdir…
umask…
daemon基本成形,问题在接下来这步:
for   (int   i   =   0;   i   <   3;   i++)
        close(i);
int   sock   =   socket(…);     //   失败,errno为9,   EBADF,   无效文件描述符

经测试,失败可能是由于关闭了0,1,2引起的,暂时修改如下:
for   (int   i   =   0;   i   <   3;   i++)
        close(i);
int   file   =   open(…);     //     file值是1
int   sock   =   socket(…);     //     成功了

这样虽然能暂时解决问题,但让人很不爽,万一没有需要打开的文件呢?
大家有没有遇到这样的问题,你们是怎么解决的?


我的0,1,2关闭了都没有问题.

网络daemon程序的有关问题

相关文章:

你感兴趣的文章:

标签云: