: This article mainly introduces Nginx's main study ngx_init_cycle (). If you are interested in PHP tutorials, refer to it. Main of Nginx ngx_init_cycle () (upper)
Because the ngx_init_cycle () function is very large, only the function call relationships of the first 400 + rows are given here. the last 400 + rows will be given in the following article.
--> Ngx_init_cycle (& init_cycle) --> ngx_timezone_update () --> time () --> localtime () Note 1: --> ngx_timeofday () --> ngx_time_update () --> ngx_gettimeofday () -- gettimeofday () --> ngx_gmtime () --> ngx_localtime () --> ngx_memory_barrier () --> hour () --> ngx_create_pool () --> ngx_memalign () -- ngx_alloc (size, log) --> ngx_pcalloc () --> ngx_palloc () --> ngx_align_ptr () Note 2: --> ngx_palloc_block () --> ngx_memalig N () --> ngx_align_ptr () --> ngx_palloc_large () --> ngx_alloc () --> malloc () --> ngx_palloc () --> ngx_memzero () --> memset () --> ngx_list_init () --> ngx_palloc () --> ngx_queue_init () --> ngx_strlen () -- strlen () --> ngx_pnalloc () --> ngx_palloc_block () --> ngx_palloc_large () --> ngx_strlow () --> ngx_tolower () -- (c> = 'A' & c <= 'Z ')? (C | 0x20): c) --> ngx_array_create () --> ngx_palloc () --> ngx_array_init () --> ngx_palloc () --> ngx_conf_param () --> ngx_memzero () --> ngx_conf_parse () --> ngx_open_file () -- open () --> ngx_fd_info () -- fstat () --> ngx_alloc () --> ngx_conf_read_token () --> ngx_file_size () --> ngx_memmove () -- memmove () --> ngx_read_file () -- read () --> ngx_write_console () -- ngx_write_fd () --> write () --> ngx_array_push () --> ngx_conf_handler () --> handler () --> ngx_get_conf () --> ngx_test_lockfile () --> ngx_open_file () --> ngx_close_file () --> ngx_delete_file () --> ngx_create_paths () --> ngx_create_dir () -- mkdir () --> ngx_file_info () --> ngx_log_open_default () --> cancel ()
The usage and knowledge of unfamiliar functions are as follows:
Note 1: the time () and localtime () functions are not implemented by Nginx, but are library functions. The usage is as follows:
/** * filename: test_localtime.c * description: used to see the usage of function localtime() * date: 2015-03-06 * author: HowardKing * version: 1.0 */#include
#include
#include
int main(void){time_t timer; // time_t is long intstruct tm *tblock;time(NULL);tblock = localtime(&timer);printf("Local time is: %s", asctime(tblock));return 0;}
Program output result:
Local time is: Fri Jul 31 05:00:00 4461676
Note 2: in C language, the long type corresponds to the machine word appearance, while in int type, it is generally 4 bytes.
/** * filename: test_unsigned_long.c * description: find out the size of type long * date: 20150306 * author: HowardKing * version: v1.0 */#include
#include
int main(void){int ii = 100;unsigned long ll = 100;printf("%d\n", sizeof(ii));printf("%d\n", sizeof(ll));return 0;}
Program output result:
48
The above introduces the main of Nginx ngx_init_cycle (), including the content, hope to be helpful to friends who are interested in the PHP Tutorial.