Libevent源码分析-----配置event_base
前面的博文都是讲一些Libevent的一些辅助结构,现在来讲一下关键结构体:event_base。 这里作一个提醒,在阅读Libevent源码时,会经常看到backend这个单词。其直译是“后端”。实际上其指的是Libevent内部使用的多路IO复用函数,多路IO复用函数就是select、poll、epoll这类函数。本系列博文中,为了叙述方便,“多路IO复用函数”与“后端”这两种说法都会采用。 配置结构体: 通常我们获取event_base都是通过event_base_new()这个无参函数。使用这个无参函数,只能得到一个默认配置的event_base结构体。本文主要是讲一些怎么获取一个非默认配置的event_base以及可以对event_base进行哪些配置。 还是先看一下event_base_new函数吧。 //event.c文件 struct event_base * event_base_new(void) { struct event_base *base = NULL; struct event_config *cfg = event_config_new(); if (cfg) { base = event_base_new_with_config(cfg); event_config_free(cfg); } return base; } 可以看到