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

> From: Stephen Warren <[email protected]>
> 
> 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 <[email protected]>
> Acked-by: Simon Glass <[email protected]>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to