zoukankan      html  css  js  c++  java
  • libevent2源码分析之五:关键的调用链

    用一个调用链来表示函数调用的流程,看起来更直观。根据上面的分析,总结了一些重要的调用链。

    初始化

    event_base_new

        event_base_new_with_config

            min_heap_ctor

            event_deferred_cb_queue_init

            evmap_io_initmap

            evmap_signal_initmap

            event_changelist_init

            <bind evsel>

            evsel->init[select_init]

                select_resize

                evsig_init

                    evutil_socketpair

                    <assign base->evsig->ev_signal

     

    添加事件

    event_add

        event_add_internal

            evmap_io_add

            或evmap_signal_add

            event_queue_insert

     

    消息泵

    event_base_dispatch

        select_dispatch[evsel->dispatch]

            select

            evmap_io_active

        event_process_active 

            event_process_active_single_queue

                (*ev->callback)(...)

     

     

  • 相关阅读:
    oracle序列
    json对象操作
    web项目中常出现的异常
    Builder设计模式
    getParameter("name")和 getParamterValues("name")的区别
    多条件查询生成sql语句
    安装pl/sql
    修复google浏览器
    创建JAVA项目的几个选项
    类的初始化顺序
  • 原文地址:https://www.cnblogs.com/qkhh/p/3679478.html
Copyright © 2011-2022 走看看