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)(...)

     

     

  • 相关阅读:
    Springboot websocket学习Demo
    webpack与vue使用
    图片服务器图片剪切处理
    时间字段设置默认值
    函数的递归
    数据类型检测及封装
    隔行变色
    if-else案例–开关灯
    作用域
    数据类型核心操作步骤和原理
  • 原文地址:https://www.cnblogs.com/qkhh/p/3679478.html
Copyright © 2011-2022 走看看