2017-09-04 7 views
-2

sigaction completionyoucompletemeはyoucompletemeメンバーは以下のとおりです(持っていることが正しく完了していないのsigaction構造体は、もちろん私はsa_restorer要素に関するが廃止され、使用すべきではないことを知ることができる、あなたが上見ることができるように正しく

ない完全なのsigaction構造体ことができます):

sigaction members

だから、私のyoucompletemeに何か問題はありますか?正しく動作させるには?

注:私が本当に尋ねたいのは、あなたが私のためにsa_handerのようなsigactionのメンバーをもっと見ることができないのですが、sa_restorer、sa_mask、sa_flagsだけです。

+1

'sa_restorer'フィールドは時代遅れで、指定されていません。あなたの 'youcompleteme'は正しく表示されていません。 –

+0

私はそれを知りたいのですが、なぜ私のあなたの完成品が正しく動作しないのかを知りたいのです。 – cong

+0

正しく巧みに働いています。あなたがそれを使用することができないので、 'sa_restorer'を表示すべきではありません。 –

答えて

1

注意深くお読みくださいsignal(7),signal-safety(7)およびsigaction(2)です。 sa_restorerは廃止され、あなたはそれを使用することを禁じられています。

正常に動作させるにはどうすればいいですか?

のでYouCompleteMeは正しい(と巧妙な!)それを示していないインチ

(あなたの質問は次のようになります。「?どうYouCompleteMeはsa_restorerを隠すために十分賢いです」)

sa_restorerは明らかに、例えばに表示されている間、それはそれを示していない理由を、より興味深い質問です/usr/include/x86_64-linux-gnu/bits/sigaction.hですが、これは別の質問です(回答はわかりません)。 特にの標準機能(たとえば、いくつかの設定ファイルがあります)が手元にある場合、私は驚いていません。 BTW YouCompleteMefree softwareまたはopen sourceなので、のソースコードを調べることができます。

sa_restorerのタイプ(/usr/include/asm-generic/signal.h参照)__sigrestore_tと下線で始まる識別子は、実装に予約されており、YouCompleteMeは、おそらくそのようなフィールドまたはデータをスキップされるように、ユーザコードによって使用されるべきではありません。これは単なる推測です。 YoucompleteMeソースコードをご自身でチェックしてください(また、libclangなど他のツールのコードも参照してください)。

youcompletemeは私に私のLinuxシステムで

はsa_handlerのようにはsigactionの複数のメンバーを表示することができない理由 /usr/include/x86_64-linux-gnu/bits/sigaction.hが(内部 <signal.h>から含まれている)ので、私が本当に聞きたいことは、 sa_handlerは、マクロです

# define sa_handler __sigaction_handler.sa_handler 

YouCompleteMeが完了メニューのすべてのマクロを表示しても驚かれることはありません。あまりにも多くの人がいる!これは(推測のみ)sa_handlerが完了のために明示的に提案されていない理由を説明するかもしれません。

あなたstruct sigactionだけドキュメントが伝えるものです

は(あなたがsiga.sa_を入力した場合、おそらくコンプリータは、より賢明かもしれないとsa_handlerを提案するが、私は試していません)。実際の実装はより複雑です。 YouCompleteMeの動作を理解し、改善したい場合は、それを調べてください。 その挙動を改善するためにYouCompleteMeに(数週間または数ヶ月それに取り組んで)パッチを提案。

YouCompleteMeの今後のパッチでは、アンダースコアで始まる識別子とそれを使用するプリプロセッサマクロを処理する可能性があります。それは興味深いプロジェクトですが、数ヶ月かかるかもしれません。

+0

私はsa_handlerやsa_flagsなどのメンバーを私に見せてもらえませんか? – cong

+0

これは別の質問です。私はYouCompleteMeの開発者に、おそらくバグリクエストを書き込むことでそれを尋ねるでしょう。私のLinux上のBTW 'sa_handler'は'#define'-dマクロです。 –

+0

だから、それは解決できない問題ですか? – cong

関連する問題

 関連する問題