- 博客(14)
- 收藏
- 关注
转载 多进程服务器中,epoll的创建应该在创建子进程之后
看我的测试代码,似乎应该是在创建子进程之后创建epoll的fd,否则程序将会有问题,试将代码中两个CreateWorker函数的调用位置分别调用,一个在创建epoll fd之前,一个在之后,在调用在创建之前的代码会出问题,在我的机器上(linux内核2.6.26)表现的症状就是所有进程的epoll_wait函数返回0, 而客户端似乎被阻塞了:服务器端:Code highlighting pro
2009-08-26 15:54:00 496
原创 epoll LT VS ET (ZZ)
近日又继续学习了一下EPOLL的工作模式,这会基本上搞清楚了,因而撰写了此篇文档进行描述。先来一段网上的介绍文档:EPOLL事件分发系统可以运转在两种模式下:Edge Triggered (ET)、Level Triggered (LT)。LT是缺省的工作方式,并且同时支持block和no-block socket;在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就绪的fd进行I
2009-08-26 14:07:00 574
转载 epoll使用方法
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_S
2009-08-26 12:57:00 1066
原创 patch用法
因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。学习资料的收集比较简单,方法一类似于这种初级问题网上资料非常丰富,google或者baidu搜索一下,然后选择有价值的资料,方法二是阅读man在线文档。完成收集工作,当然最终要在自己的Linux上作实验,比较总结,消化吸收为自己的东西。要除去这么一种错误思想:一定要学全。要知道,一次学
2009-08-21 11:43:00 784
转载 nginx+apache+squid搭建集群web环境
一、前言,准备工作BSD爱好者乐园3f l;h2v4x!eYF!x当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。L9{0zUc我们采用的架构图如下:G6C*Wu^;]-------- ---------- ------------- ---------
2009-08-20 12:04:00 3539
原创 C语言函数原型fgets fputs
fputsint fputs ( const char * str, FILE * stream );Write string to streamWrites the string pointed by str to the stream.The function begins copying from the address specified (str) until it reac
2009-08-17 15:46:00 2840
原创 memset /memcpy /strcpy函数的使用与区别
(1) Memset 原型: extern void *memset(void *buffer, int c, int count); 用法: #include 功能: 把buffer所指内存区域的前count个字节设置成字符 c。
2009-08-17 13:36:00 675
原创 adduser vs useradd -Debian / Ubuntu-, Gentoo, Fedora/CentOS
adduser vs useradd -Debian / Ubuntu-, Gentoo, Fedora/CentOSSubmitted by ggarron on Thu, 01/15/2009 - 16:37You may have been using useradd or adduser to add new users or create
2009-08-14 17:05:00 1360
原创 C语言专题——格式化I/O详解
1 格式化I/O函数族函数族 用途 可用于所有的流 只用于stdin和stdout 内存中的字符串scanf 格式化输入 fscanf scanf sscanfprintf 格式化输出 fprintf printf sprintf2 scanf函数族int fscanf (FILE *stream, const char *format, ...);int scanf (const char *f
2009-08-06 14:21:00 850
原创 [APUE2nd学习笔记]Ch5. Standard I/O Library
fwide: stream orientation buffering types: full buffered, line buffered, unbuffered most implementation: stderr is unbuffered, terminal devices are linue
2009-08-06 13:01:00 581
原创 realloc函数详解
原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 有些编译器需要#include 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使用free()函数将内存
2009-08-06 11:30:00 2322 1
原创 可变参数学习笔记-va_list
前言:本文在很大程度上改编自网友kevintz的“C语言中可变参数的用法”一文,在行文之前先向这位前辈表示真诚的敬意和感谢。一、什么是可变参数我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变
2009-08-06 10:08:00 588
原创 使用 doxygen 生成文档
使用 doxygen 生成文档使用 doxygen 生成源代码的文档需要执行三个步骤。生成配置文件在 shell 提示上,输入命令 doxygen -g 。这个命令在当前目录中生成一个可编辑的配置文件 Doxyfile。可以改变这个文件名,在这种情况下,应该调用 doxygen -g user-specified file name>,见 清单 2。 清单 2. 生成默认的配置文件
2009-08-04 18:09:00 1417
原创 fopen 参数讲解
fopen参数说明Linux编程 2009-06-28 15:54 阅读167 评论0 字号: 大大 中中 小小 source: http://hi.baidu.com/05809/blog/item/166bbf1000e5d109213f2ea3.html2009-06-03 23:03 fopen参数说明20
2009-08-04 13:42:00 16869 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人