[U-Boot] test/py: handle exceptions in console creation

Tom Rini trini at konsulko.com
Mon Feb 15 23:36:54 CET 2016


On Wed, Feb 10, 2016 at 04:54:37PM -0700, Stephen Warren wrote:

> From: Stephen Warren <swarren at nvidia.com>
> 
> u_boot_console.exec_attach.get_spawn() performs two steps:
> 1) Spawn a process to communicate with the serial console.
> 2) Reset the board so that U-Boot starts running from scratch.
> 
> Currently, if an exception happens in step (2), no cleanup is performed on
> the process created in step (1). That process stays running and may e.g.
> hold serial port locks, or simply continue to read data from the serial
> port, thus preventing it from reaching any other process that attempts to
> read from the same serial port later. While there is error cleanup code in
> u_boot_console_base.ensure_spawned(), this is not triggered since the
> exception prevents assignment to self.p there, and hence the exception
> handler has no object to operate upon in cleanup_spawn().
> 
> Solve this by enhancing u_boot_console.exec_attach.get_spawn() to clean
> up any objects it has created.
> 
> In theory, u_boot_spawn.Spawn's constructor has a similar issue, so fix
> this too.
> 
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> Acked-by: Simon Glass <sjg at chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160215/1182f35f/attachment.sig>


More information about the U-Boot mailing list