Skip to main content

pending_len

Function pending_len 

Source
pub(super) fn pending_len() -> usize
Expand description

取得待ちのフォント/CSS/JS 件数。待機判定([IDLE] 行)から使う。

【2026-08-25 バグ修正】ここは FONT_QUEUE.lock() していた。

待機判定はウィンドウマネージャの提示ループから呼ばれる。 あちらは高優先度で、spin::Mutex は譲らずに回り続けるので、 低優先度のワーカーがこのロックを握っている間に提示ループが スピンへ入ると、ワーカーが走れず解放もされない。 典型的な優先度逆転で、実測では取得が 7 件やり残しのまま 900 秒経っても動かなくなった(active=5 のまま静止)。

待機判定はロックを取ってはいけない。 正確さは、キューを変更する側(既にロックを持っている側)が 毎回 FQ_PENDING へ書き写すことで保つ。