-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
・ execute_single_commandは親プロセス内で実行されるので、env_lst_to_arrayが失敗したときにclose_purefdを
しないようにした。(二重クローズ防止)
・run_command_with_redirectは子プロセス内で実行されるので、redirectが失敗したときにclose_purefdをするようにした。(子プロセス内なのでクローズする)
・first_command, midle_command, last_command内で、run_command_with_redirect を呼び出す前close_purefdをしていたが、run_command...関数内のredirectでpure_fdを使うので、これが終わってからclose_purefdをすることにした。
・cat << EOF | grep hello のようなパイプ中にheredocがあった時に動かなかったので、それを修正した。本来はheredocは小プロセスを作る前に行われるみたいなので、sigintを送った時の挙動はどうしても再現できなかった。hreredoc中にsigintを受け取った時のrl_on_new_lineなどは必要なかったので消した。
・unset PATHしたときに$D(存在しない環境変数)だけを入力したときにセグフォしないようにした
・unset PATHしたときにls(実行権限のないlsをカレントディレクトリに作っておく)とうつとPermission deniedと表示されるようにした。
Metadata
Metadata
Assignees
Labels
No labels