NPTL中的pthread_t

前几天一个程序老是出现段错误,最后实在找不到地方,用gdb单步,发现问题出现在一个回调函数的pthread_cancel中。这个问题就奇怪了。《Unix系统编程》上说了pthread_cancel没有定义必须检测的错误,而且,当ptherad_cancel(pthread_t thread)时,若thread对应的线程不存在,只是返回ESRCH而已。但是问题是,这里就是因为程序第一次执行,除了主线程外,没有其他线程存在,而且因为这个thread变量是全局变量,应该是被自动初始化为零的。也就是说pthread_cancel(0),会引起段错误。

阅读更多

终于搞定无线上网共享

有两台笔记本,但是只有一条电话线可以通过ADSL上网,感觉专门买个路由器似乎很浪费。而两个笔记本除了内置以太网卡外,还都有一个Intel 3945ABG的无线网卡,就准备用两个笔记本的无线网卡直接连成ad-hoc网络,以达到到共享Internet连接和资料的目的。两个笔记本都装的是Ubuntu 7.10,本来如:https://help.ubuntu.com/community/WifiDocs/Adhoc所言,可以用network-manager直接创建ad-hoc网络,但是很不幸,这个方法实际行不通。至于为什么行不通,我依然不知道原因。

阅读更多