MAC OS X 10.7(ライオン)に失敗しました:.....ネットワーク変更イベント登録は、私は次のコードでMAC OS X 10.7(ライオン)にNETWORK_CHANGEイベントを登録しようとした
#define kNotifySCNetworkChange "com.apple.system.config.network_change"
void init()
{
status = notify_register_check(kNotifySCNetworkChange, &token);
if (status != NOTIFY_STATUS_OK)
{
cout << "Event Registration failed" <<endl;
}
cout << "Event Registration Success" << endl;
}
このコードをサンプルプログラムで使用すると、正常に登録されました。 これをアプリケーションで使用すると、notify_register_check()関数はステータス 1000000(NOTIFY_STATUS_FAILED)で返されました。また、返されたerrnoが0
。注:私のアプリケーションは、私は、このステータスをGoogleで検索
すべての問題(登録成功)出てヒョウとSnow Leopardで動作しているが、関連する情報が見つかりませんでした。 誰でもこのNOTIFY_STATUS_FAILEDが返されるシナリオを教えていただけますか?私たちは、自分のアプリケーションにフォーク()システムコールを使用している :
もう一つ私がいることを最近観察しました。 親プロセスに登録しようとするとイベント登録が成功しました。しかし、子プロセスでイベント登録に失敗しました。子プロセスで失敗した理由何か案が!!!
コールはコンソールアプリケーションでは動作しますが、GUIアプリケーションでは動作しません。 – trojanfoe
こんにちは@trojanfoe、あなたの迅速な返答のおかげで。私のアプリケーションはGUIアプリケーションではありません。 – Rajasekhar
fork()したプロセスで、親にすでに登録しているのと同じイベントを再登録しようとしていますか、初めてイベントを登録しようとしていますか? –