pthred_create

「pthred_create」の編集履歴(バックアップ)一覧に戻る

pthred_create - (2012/04/30 (月) 00:04:35) のソース

**エラー
 [[pthread_create]]は[[スレッド]]の生成を行うらしい。成功の場合は[[戻り値]]0を返す。
 失敗した時は[[エラーコード]]を返す。(エラーコードは[[perror]]で出力するアレとは別物)

----
**戻り値
-EPERM
 エラーコードの値は(1)。[[パーミッション]]エラーぽい。
 あなたはスレッドを起こそうとしているけど、権限がないよというエラー。
 これが出た場合、ログイン中のユーザーの権限がスレッド生成に足りてないですよ、
 のパターンのようです。参考→[[EPERMが出て困っている人(海外)]]

 Ubuntuユーザーの場合、ありがちなのではないかと思います。
 解決策は、スレッドを起こそうとしているアプリが[[CUI]]が[[GUI]]かで変わります。

--CUIの場合
 [[sudo]]コマンドを使います。アプリの名前がa.outの場合はこんな感じ
#highlight(){{
 $ sudo ./a.out
 (passを聞いてくるので入力する)
}}

--GUIの場合
 基本のやりかたはCUIと同じで、[[sudo]]の代わりに[[gksudo]]を使います。
 gksudoがNot Foundだよ、と言われた場合は、ダウンロードしてきましょう(ええーっ)。
 (どうもUbuntuはgksudoは標準装備ぽいけど……)

 ちなみに、私の環境では、Eclipseを使って上記CUIアプリをデバッグしたかったので、

#highlight(){{
 $ gksudo eclipse
 (passを聞いてくるので入力する)
}
}}

 とroot権限で[[eclipse]]を立ち上げて、その後a.outのビルド→デバッグという流れでした。
-