全部博文(1493)
发布时间:2013-05-29 17:01:00
为了节省篇幅所有测试都忽略错误检查SIGABRT: 调用abort函数时产生此信号。默认终止进程,可捕捉 6 void sig_abort(int signo){ 7 printf("get signal:%s\n",strsignal(signo)); 8 } 9 10 int main(void){ 11 .........【阅读全文】
发布时间:2013-05-24 08:42:02
一、close close函数原型如下: int close(int sockfd); 参数sockfd为套接字描述符,成功返回0,失败返回-1,错误码errno:EBADF表示一个非有效描述符;EINTER表示被信号中断;EIO表示一个IO错误。&n.........【阅读全文】
发布时间:2013-05-24 08:41:44
net_device结构是一个非常庞大的数据结构,其中的字段包含了从硬件层、网络层和传输层等各种功能涉及的参数,因此,其初始化也是分批由不同的函数完成的,相当于每个函数负责其中相关联的一些子集字段,大致分为: 设备驱动程序:完成与硬件配置相关的IRQ、I/O内存以.........【阅读全文】
发布时间:2013-02-27 08:45:14
pthread_join():使一个线程等待另一个线程结束pthread_self():获得自身的线程号pthread_create():创建一个新的线程pthread_detach():设置线程为可分离状态,pthread有两种状态joinable状态和unjoinable状态pthread_exit():通过自身来结束线程,并释放资源pthread_cancel():通过其他线程调用释.........【阅读全文】
发布时间:2012-12-26 08:55:27
linux共享库实现互斥 概述 Sqlite3数据库互斥是基于文件的,即一个数据库文件中如果包含多张表T1、T2...Tn,当有进程对其中的表Tx进行写操作时,其余试图读写Tn的操作都会立即返回IS_LOCK,导致写数据库失败。因此,Sqlite3经常用于嵌入式开发中对并发要求不高的场景。 悲剧的是现有的系统用的是Sqlite3,但却要求较高的并发度。 于是一个选择被提上议程:更换数据库 or 修改现有sqlite3的行为? 长远来看,更换数据库方为解决之道,但目前来说修改现有sqlite3的行为投入较少,先解燃眉之急。 修订方案 将sq......【阅读全文】