シグナル ハンドラを使用して ctrl-c をトラップしましたが、コールバック スレッドの無限ループが原因でアプリケーションを終了できませんでした。
ctrl-c をトラップするシグナル ハンドラーがあり、ハンドラーで何らかのアクションを実行して exit(0); を実行します。しかし、私のアプリケーションでは、コールバック スレッドが無限ループを実行している場合、ctrl-c の後でもアプリケーションを終了できませんでした。
pthread_kill、pthread_exit、pthread_cancel を試しましたが、何も機能しませんでした。
参考までに、while(1) ループが多すぎるため、フラグを立てる柔軟性がありません。アプリケーションを終了したいだけです。提案してください。