perlモジュールの* .XS部分の中にあるC関数内の現在のperlスレッドIDを取得する必要があります。純粋なPerlでXSコードでthreads-> tid()の値を取得するには?
(*の.pm部)I単にだろう:
$id = threads->tid();
しかし、XSでこの値を取得するための推奨方法は何ですか?
残念ながら、http://perldoc.perl.org/perlthrtut.htmlとhttp://perldoc.perl.org/threads.htmlは、XSでのスレッドの処理については言及していません。事前に
おかげ
- KMX
ありがとう。これは動作しますが、私のモジュールが( "use MyModule"によって) "use threads"と共にロードされている場合にのみ有効です。スレッドがロードされていない(つまりtid = 0)ことをXSで検出するにはどうすればよいですか?今度はあなたのコードは次のようなエラーを表示します:パッケージ "スレッド"を介してオブジェクトメソッド "tid"を見つけることができません... – kmx
私はそれを持っています、私はG_SCALAR | G_EVALを必要とします – kmx
#ifndef USE_ITHREADS tid =オプションでPerl_load_module()を介してモジュールインポータを呼び出します。 – rurban