本系列講解了 Linux-PAM 的工作機(jī)制和配置方式,并利用幾個(gè) Linux-PAM 模塊做一些有趣的小實(shí)驗(yàn)。附錄中介紹了一些常用的 Linux-PAM 模塊。 本文的目標(biāo)...
引言 系統(tǒng)運(yùn)維時(shí),經(jīng)常會(huì)使用top或者free查看服務(wù)器的內(nèi)存使用情況,一般情況下,顯示結(jié)果中的buffer/cache都比較大,查閱各種資料也無法得到比較明確的答案。閱讀本...
skynet 中的服務(wù)都是由消息來負(fù)責(zé)驅(qū)動(dòng)的,即便是 lua 服務(wù)也不例外。本文討論的主題為 skynet 框架下,同一 skynet 節(jié)點(diǎn)內(nèi)不同的lua 服務(wù)之間是如何通過...
在上一篇文章中《skynet 源碼閱讀筆記 —— 引導(dǎo)服務(wù) bootstrap 的啟動(dòng)》[http://www.itdecent.cn/p/1eb22d418087],我們...
引導(dǎo)服務(wù) bootstrap 的啟動(dòng) skynet 在啟動(dòng)的初期,在 skynet_start 函數(shù)中創(chuàng)建了兩個(gè)服務(wù) logger 和 bootstrap。其中 bootst...
基本數(shù)據(jù)結(jié)構(gòu) 要了解 skynet 的定時(shí)器機(jī)制,需要先了解 skynet 中的 timer 的數(shù)據(jù)結(jié)構(gòu)及初始化代碼(skynet 中所有 timer 相關(guān)的代碼都存放于 s...
skynet 中 main 函數(shù)的流程 skynet 的 main 函數(shù)位于 skynet_main.c 文件當(dāng)中,其定義如下: 使用過 skynet 的人都知道,skyne...
1.基本概念:模塊與服務(wù) 模塊(module):在skynet中,模塊是指符合規(guī)范的 C 共享庫文件。一個(gè)符合規(guī)范的 C 共享庫應(yīng)當(dāng)具備 *_create、*_signal、...
基本數(shù)據(jù)結(jié)構(gòu)之消息隊(duì)列 skynet 采用了二級消息隊(duì)列模式,其中頂層消息隊(duì)列為 global_queue,而底層的消息隊(duì)列為 message_queue,它們的具體定義如下...
在 CMake 中使用 Google-Test 示例目錄的源碼樹: 測試通過: 測試失敗: 具體的測試信息會(huì)保存在 build/Testing/Temporary/LastT...
宏的意義 一些編譯器宏的使用方法(clang 的線程安全注解 —— Thread Safety Annotation):修飾類的宏//CAPABILITY 表明某個(gè)類對象可以...
問題描述 給定一個(gè)數(shù)組 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我們就將 (i, j) 稱作一個(gè)重要翻轉(zhuǎn)對。你需要返回給定數(shù)組中的重要翻轉(zhuǎn)對...
Libevent 如何定義自己的日志輸出格式 Libevent 的日志系統(tǒng)中定義了四個(gè)日志的輸出等級,默認(rèn)情況下會(huì)將日志信息輸出到終端。不過 Libevent 允許用戶設(shè)置自...
閱讀本文之前請確保你看過上一篇文章:Libevent 源碼閱讀筆記(一)、從一個(gè)簡單例子開始(上) 在上一篇文章中,我們提到了關(guān)于 Libevent 使用的一個(gè)基本邏輯: 調(diào)...
什么是 Libevent Libevent 是一款基于 Reactor 模式實(shí)現(xiàn),由事件驅(qū)動(dòng)的高性能開源 I/O 框架庫,它提供一組 API 并允許開發(fā)者為事件注冊回調(diào)函數(shù)。...