diff options
author | Ruiyu Ni <ruiyu.ni@intel.com> | 2016-07-28 12:46:25 +0800 |
---|---|---|
committer | Ruiyu Ni <ruiyu.ni@intel.com> | 2016-07-29 09:52:40 +0800 |
commit | 031403460c9782a2563a81a6065ded99046960c2 (patch) | |
tree | 806b1c76b484835880c5746ace41867183947f36 | |
parent | 9b7143c9041c9e9e7d431e3dc3788feda475d9bc (diff) | |
download | edk2-031403460c9782a2563a81a6065ded99046960c2.tar.gz edk2-031403460c9782a2563a81a6065ded99046960c2.tar.bz2 edk2-031403460c9782a2563a81a6065ded99046960c2.zip |
ShellPkg: Unregister hotkey callback when exiting Shell
Commit 9168df3dea65f707d1e9c32eba5e18ef6b84e5cd
"ShellPkg/ShellProtocol.c: Handle memory allocation failure"
only keeps the protocol clean up in CleanUpShellProtocol() and
creates a new function CleanUpShellEnvironment() which calls
CleanUpShellProtocol(), then unregisters the hotkey callback.
But the commit forgot to change the Shell.c to call
CleanUpShellEnvironment() which causes the hotkey callback is
not unregistered while the callback function doesn't exist
when Shell exits.
This causes system hang when pressing CTRL+C after exiting shell.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
-rw-r--r-- | ShellPkg/Application/Shell/Shell.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ShellPkg/Application/Shell/Shell.c b/ShellPkg/Application/Shell/Shell.c index 0f1fb9c287..3080a1644f 100644 --- a/ShellPkg/Application/Shell/Shell.c +++ b/ShellPkg/Application/Shell/Shell.c @@ -667,7 +667,7 @@ FreeResources: if (ShellInfoObject.NewEfiShellProtocol->IsRootShell()){
InternalEfiShellSetEnv(L"cwd", NULL, TRUE);
}
- CleanUpShellProtocol(ShellInfoObject.NewEfiShellProtocol);
+ CleanUpShellEnvironment (ShellInfoObject.NewEfiShellProtocol);
DEBUG_CODE(ShellInfoObject.NewEfiShellProtocol = NULL;);
}
|