機械翻訳について

rw_write_held

指定した読取り/書込みロックを書込み側が保持しているかどうかを確認します。

int rw_write_held(vmlinux`rwlock_t *rwlock)

指定されたリーダー・ライター・ロック(rwlock)がライターによって保持されている場合、rw_write_held関数はゼロ以外を返します。 ロックが読取り側のみで保持されている場合やまったく保持されていない場合、rw_write_heldはゼロを返します。

例8-42 rw_write_heldを使用して、ライターが指定されたリーダー・ライター・ロックを保持しているかどうかを確認する方法

この例では、2つの節を使用します。 最初の節は、_raw_write_lockの入力時にトリガーされ、rw_write_held関数を使用して書込みロックが保持されているかどうかを表示します。 この段階では、ロックは保持されないため、出力は0を返します。 _raw_write_lockが戻ると、ロックが保持され、rw_write_held関数は1を戻し、スクリプトを終了します。

 fbt:vmlinux:_raw_write_lock:entry
 {
         self->wlock = (rwlock_t *)arg0;
         printf("write entry  %x\n", 0 != rw_write_held(self->wlock));
 }
 
 fbt:vmlinux:_raw_write_lock:return
 /self->wlock/
 {
         printf("write return %x\n", 0 != rw_write_held(self->wlock));
         exit(0)
 }