UNIX 开发
踏岸寻柳
NULL
展开
-
文件描述符可以是0吗?
初接触UNIX的人都会在教材中得到这样的信息:文件描述符0、1和2分别代表stdin、stdout和stderr。所以,在我们自己的程序中往往都会避开这几个“标准”的描述符。对于网络的操作,一般在connect(或accept)后都会判断Socket描述符是否大于0来决定网络连接是否建立。问题偏偏就出在这里。一个SocketServer程序,accept客户端连接成功后创建一新的线程,将a原创 2005-01-04 12:46:00 · 6093 阅读 · 4 评论 -
多线程中互斥锁的问题
最近在多线程编程中遇到了这样一个情况,程序中有一些变量是全局有效的,多个线程都要访问,由于没有考虑太多,导致线程出现一些问题。于是乎,就想到了互斥锁,可是遇到了更严重的情况:有些线程执行一段时间后会被其父线程杀掉,假若此时它已对互斥锁执行了加锁操作而又未解锁的话,就造成了死锁的情况,导致程序频频出错。这的确是一个令人困惑的问题,如何在线程被杀掉后还能够将锁解开着实令我为难了。还好,线程的加锁、解锁原创 2004-12-17 09:19:00 · 3683 阅读 · 2 评论 -
SOCKET中用select还是用poll?
有一个socket程序,最近发现了比较奇怪的问题: 作为服务器端,接受客户端连接后select时出错进程退出,此时errno为EBADF 代码:// 设置select IO多工等待时间 select_time.tv_sec = 1; select_time.tv_usec = 0; // 设置select出错等待时间 sleeptime.tv_sec = 1;原创 2004-12-10 22:48:00 · 2253 阅读 · 0 评论 -
SubVersion在Solaris2.8下的安装
1. 二进制模式上传文件subversion-1.1.3-sol9-sparc-local.gz至主机任意目录;2. 解压缩该文件:gzip -d subversion-1.1.3-sol9-sparc-local.gz3. su到根用户:su(如果已经是根用户可跳过这一步);4. 安装该PKG包:pkgadd -d subversion-1.1.3-sol9-sparc-local5. 如果遇到原创 2005-04-26 13:46:00 · 1316 阅读 · 0 评论