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
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

