• Outils en Ligne
  • - Calculatrices
    • Compteur de Caractères
  • - Téléchargement
    • Téléchargement TikTok
    • Téléchargement Douyin
  • - Outils Web
    • BASE64
    • Base64 vers image
    • Image vers Base64
    • Encodage URL
    • JavaScript
    • Timestamp
    • Convertisseur Unicode
    • Formatage JSON
    • Modifier l’Extension
    • Créer une Liste
    • Optimiseur CSS
  • - Outils de Chiffrement
    • Chiffrement MD5
    • Générateur Aléatoire
  • - Outils d’Image
    • Compression d’Images
    • Générateur de QR Code
    • Lecteur de QR Code
    • Prévisualisation de Fond
    • EXIF d’image
  • - Fiches d'information
    • Hérédité du Groupe Sanguin
    • Tailles Vêtements
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linux pollメカニズムの詳細な説明
2022-01-29

すべてのシステム呼び出しは、その名前の前に「sys_」を付けることができることに基づいています。接頭辞。これがカーネルに対応する関数です。例えばopen、read、write、pollをシステムが呼び出し、それに対応するカーネル関数はsys_open、sys_read、sys_write、sys_poll。

一、カーネルフレームワーク:

システム呼び出しpollまたはselectの場合、対応するカーネル関数はsys_です。poll。解析sys_pollは、pollメカニズムを理解することができます。

1.

sys_Poll関数はfs/selectにある.cファイルでは、コードは以下の通りです。

< 0) or no (0) timeout */ timeout_jiffies = timeout_msecs; } return do_sys_poll(ufds, nfds, &timeout_jiffies); }タイムアウトパラメータを少し処理した後、do_を直接呼び出します。sys_poll。

2.

do_sys_Poll関数もfs/selectに位置する.cファイルでは、他のコードは無視されます。

poll_initwait関数は非常に簡単で、pollを初期化します。wqueues変数table:

int do_sys_poll(struct pollfd __user *ufds, unsigned int nfds, s64 *timeout)
{
……
poll_initwait(&table);
……

fdcount = do_poll(nfds, head, &table, timeout);
……
}

poll_initwait > init_poll_funcptr(&pwq->pt, __pollwait); > pt->qproc = qproc;

すなわちtable->pt->qproc=pollwait,__pollwaitは駆動するpoll関数に使用されます。

3.

do_sys_Poll関数はfs/selectにある.cファイルでは、コードは以下の通りです。

= (s64)MAX_SCHEDULE_TIMEOUT-1)) {

< 0) { 16 /* Wait indefinitely */ 17 __timeout = MAX_SCHEDULE_TIMEOUT; 18 } else if (unlikely(*timeout >19

/*

20

* Wait for longer than MAX_SCHEDULE_TIMEOUT. Do it in

21

* a loop

22

*/

23

__timeout = MAX_SCHEDULE_TIMEOUT - 1;

static inline unsigned int do_pollfd(struct pollfd *pollfd, poll_table *pwait)

{

……

if (file->f_op && file->f_op->poll)

mask = file->f_op->poll(file, pwait);

……

}

24

*timeout -= __timeout;

25

static inline void poll_wait(struct file * filp, wait_queue_head_t * wait_address, poll_table *p)

{

if (p && wait_address)

p->qproc(filp, wait_address, p);

}

} else {

static void __pollwait(struct file *filp, wait_queue_head_t *wait_address,

poll_table *p)

{

struct poll_table_entry *entry = poll_get_entry(p);

if (!entry)

return;

get_file(filp);

entry->filp = filp;

entry->wait_address = wait_address;

init_waitqueue_entry(&entry->wait, current);

add_wait_queue(wait_address, &entry->wait);

}

26

__timeout = *timeout;

27

*timeout = 0;

28

}

29

30

__timeout = schedule_timeout(__timeout);

31


ソース元URL:https://dopubox.com/article/p/08ccc3846a4e07d7

Autres Outils
  • Compteur de Caractères Téléchargement TikTok Téléchargement Douyin BASE64 Base64 vers image Image vers Base64 Encodage URL JavaScript Timestamp Convertisseur Unicode Formatage JSON Modifier l’Extension Créer une Liste Optimiseur CSS Chiffrement MD5 Générateur Aléatoire Compression d’Images Générateur de QR Code Lecteur de QR Code Prévisualisation de Fond EXIF d’image Hérédité du Groupe Sanguin Tailles Vêtements app.tool_clock
  • 被害者「問題解決には程遠い」 旧ジャニーズ被害者らが会見
    2024-05-29

    日テレ、意思疎通できず信頼喪失 「セクシー田中さん」の調査結果
    2024-05-31

    小学館も来週に報告書公表
    2024-05-31

    『マッドマックス:フュリオサ』に登場する「ある絵画」は何を意味しているのか? ギリシア神話と「ファム・ファタル」から考察する
    2024-06-01

    “家形埴輪”大集合、総選挙も 「住宅展示場の気分で」、奈良
    2024-06-01

    【光る君へ】平安時代、強烈なエピソードで知られた2人の受領とは
    2024-06-01

    芸術レベルのグッズも登場! パリ・東京・大阪の名コレクションが集まる「TRIO展」
    2024-06-01

    小学館「作家の意向第一に協議」 映像化指針、ドラマ原作者死去で
    2024-06-03

    テレ東が警察密着番組の担当者らを懲戒処分
    2024-06-03

    福島県沖地震で解体 老舗文具店の新ビルが開店 イベントスペースも
    2024-06-04

    「企画展 歌と物語の絵 ―雅やかなやまと絵の世界」(泉屋博古館東京)開幕レポート。歌、物語、絵画が織りなす芸術世界へ
    2024-06-04

    第34回福岡アジア文化賞受賞者が決定。大賞は真鍋大度
    2024-06-04

    「TRIO パリ・東京・大阪 モダンアート・コレクション」(東京国立近代美術館)開幕レポート。トリオで再発見する3館のコレクション
    2024-06-05

    国際博物館の日、今年のテーマは「学びと研究のための博物館」
    2024-06-04

    開館10周年を記念。「広重 ─摺の極─」があべのハルカス美術館で開催へ
    2024-06-05

    特別展「梅津庸一 クリスタルパレス」が国立国際美術館で開催。00年代からの仕事を総覧
    2024-06-04

    エドガー・サラン個展「EDGAR SARIN ー HUNKY DORY」(VAGUE KOBE)レポート。展示空間の可能性やその調和の在り方を問いかける
    2024-06-04

    今年の「アートウィーク東京」は11月に開催。「AWT FOCUS」の監修には片岡真実
    2024-06-04

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

    書評:「普通にラッセンが好き」と言えない現代美術界へ。原田裕規『評伝クリスチャン・ラッセン 日本に愛された画家』
    2024-06-06

    ©  Dopu Box
    💛