Linux下socket非阻塞的一些技巧

在Linux下,connect()建立连接,-1为失败,但是-1不一定就是完全失败!
-1的情况下,有的是因为非阻塞造成的,就是在error中设置了对应的出错情况,例如EINPROGRESS,EAGAIN等可以认为是“非致命错误”,认为是可以接受的,这种只是导致暂时阻塞等情况。
所以可以如下使用
int ret = connect(...);
if(!ret || noFatalError())
{
  //认为是成功的
}
bool nonFa[......]

继续阅读

CentOS很快的一个源

转载自:http://www.diybl.com/course/6_system/linux/Linuxjs/20081213/153625.html
CentOS USTC mirror

http://centos.ustc.edu.cn/centos/

安装后请按照以下步骤修改CenOS-Base.repo,以后就可以方便的用yum安装软件了.

cd /etc/yum.repos.d
mv CentOS-Base.repo  CentOS-Base.r[......]

继续阅读

KFS系统的编译、调试

KFS是一个分布式文件系统(Cloud Store)
安装/调试KFS步骤

0、安装g++

一定要使用g++ 4.2版本(或者4.3)
sudo apt-get install g++-4.2
然后在/usr/bin下用ln把g++链接到 g++-4.2上!

1、安装Boost
需要手动安装
去Boost.org上下载1.4.0
./bootstrap.sh //会生成bjam
./bjam -sTOOLS=gcc --without-python install[......]

继续阅读