- 博客(15)
- 收藏
- 关注
转载 收藏个python模块列表
我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Sound, OS interaction, Web,以及其他。推荐收藏。 Graphical interfacewxPythonhttp://wxpython.org Graphical interfacepyGtkhttp://www
2014-07-09 14:51:51
742
原创 linux信号基本知识学习
学习linux编程, 发现信号这个东西很重要, 就花了点时间研究这个玩意到底什么意思, 本人是搞PHP的, 理解这些东西还有些费劲。1. linux信号有64个, 分为两段, 前面32个是普通信号, 后面的32个是实时信号, 两者的区别在于, 实时信号的处理需要排队。通过命令kill -l可列出所有信号: 1) SIGHUP 2) SIGINT 3) SIGQUIT
2013-11-30 14:57:12
1534
原创 ngx_master_process_cycle函数详解
ngx_master_process_cycle在src/os/unix/ngx_process_cycle.c中定义, 该方法是个无限循环函数, 用于实现nginx的主功能。下面是该函数的详细代码:voidngx_master_process_cycle(ngx_cycle_t *cycle){ char *title; u_char
2013-11-30 14:45:49
1215
原创 ngx_add_inherited_sockets 函数详解
ngx_add_inherited_sockets 函数通过环境变量NGINX完成socket的继承,继承来的socket将会放到init_cycle的listening数组中。在NGINX环境变量中,每个socket中间用冒号或分号隔开。完成继承同时设置全局变量ngx_inherited为1。定义在src/core/nginx.c中:具体代码如下: static ngx_int_t
2013-11-30 11:54:37
2527
1
原创 ngx_crc32_table_init函数详解
ngx_crc32_table_init函数的定义在src/core/ngx_crc32.c, 其主要功能是初始化一个做循环冗余校验的表,由此可以看出后续的循环冗余校验将采用高效的查表法。CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC(Cyclic Redundancy Check)是最著名的一种。CRC的全称是循环冗余校验。
2013-11-30 11:36:37
5321
原创 ngx_os_init函数详解
ngx_os_init函数定义在src/os/unix/ngx_os.h, os/unix/ngx_posix_init.c, 主要初始化操作系统级的资源限制到一些全局的变量中, 比如ngx_pagesize, ngx_cacheline_size, ngx_max_sockets, ngx_inherited_nonblocking等。 源代码如下:ngx_int_tngx_os_init
2013-11-30 11:06:25
2901
原创 ngx_process_options函数详解
ngx_process_options是初始化init_cycle中的一些如: conf_file,prefix,conf_prefix等字段的功能, 其方法的定义在src/core/nginx.c中, 以下为详细代码:static ngx_int_tngx_process_options(ngx_cycle_t *cycle){ u_char *p; size_t
2013-11-29 17:29:16
2241
原创 ngx_save_argv方法详解
ngx_save_argv方法在src/core/nginx.c中定义, 用于备份参数到init_cycle中。该函数主要作用就是将参数个数以及参数的信息备份在ngx_argc和ngx_argv变量中, 这两个变量是在 src/os/unix/ngx_process.c中定义的。int ngx_argc;
2013-11-29 17:20:59
1429
原创 nginx基本数据类型--字符串
在nginx源码目录的src/core/ngx_string.h|c里面,包含了字符串的封装以及字符串相关操作的api。nginx提供了一个带长度的字符串结构ngx_str_t,它的原型如下:typedef struct { size_t len; // 字符串长度 u_char *data; // 字符串数据的开头指针} ngx_str_t;
2013-11-29 14:32:45
9549
原创 ngx_init_cycle()详解
ngx_init_cycle是nginx启动比较核心的一部分功能, 很多的变量都在这个过程进行初始化。 下面从代码的层面详细介绍下,这个过程做了哪些事情。源代码位于src/core/ngx_cycle.h|c.首先看下几个相关的数据结构:1. ngx_cycle_t 数据结构:typedef struct ngx_cycle_s ngx_cycle_t;struct ngx_c
2013-11-29 09:44:21
3025
原创 nginx主函数分析
nginx的源代码结构如图:入口程序, 及主程序位于src/core/nginx.c中的main函数, 下面来简单的过下这个主函数做了些什么事情:ngx_debug_init() 调试相关的初始化, 用于开发环境的调试ngx_strerror_init() 错误信息相关的初始化, 如果初始化失败, 则直接退出ngx_get_options() 获取命令行的参数选项,并将对应的参数值
2013-11-28 19:38:41
2266
原创 nginx.c中的全局变量分析
在nginx.c中的main函数开始之前定义了一些列的全局性的变量,下面一一介绍每个变量的意义和作用.以上截图可以看出, nginx.c中定义了以下全局性的变量:ngx_core_commands : 核心指令集变量ngx_core_module_ctx : 核心模块上下文变量ngx_core_module : 核心模块变量ngx_show_help : 无符号整型, 标记是否
2013-11-28 17:16:36
1337
原创 nginx源码分析之ngx_core_commands
ngx_core_commands是核心模块指令, 该变量的定义是在src/core/nginx.c中定义的。该变量为一个数组, 每个元素都是ngx_command_t类型,下面逐步解析这个变量。ngx_command_t类型:(src/core/ngx_conf_file.h)typedef ngx_command_s ngx_command_t;struct ngx_c
2013-11-28 16:56:02
2288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人