不要な while (1); を削除
update フラグのクリアし忘れを修正