terminal.py: use unique ids for screen sessions
authorJason Wessel <jason.wessel@windriver.com>
Wed, 25 Jul 2012 17:47:28 +0000 (12:47 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 25 Aug 2012 13:47:01 +0000 (14:47 +0100)
When running multiple sets of builds on the same
system, it is hard to distinguish which build belongs
to which screen session and you can end up resuming
the wrong session.

The simple solution is to just append the process
id to the screen session invocation to make each
unique.

(From OE-Core rev: 1677b736bca5dc46db522da1874459d2de77209d)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/terminal.py

index 3131798..30e8f92 100644 (file)
@@ -94,9 +94,11 @@ class Screen(Terminal):
     command = 'screen -D -m -t "{title}" -S devshell {command}'
 
     def __init__(self, sh_cmd, title=None, env=None):
+        s_id = "devshell_%i" % os.getpid()
+        self.command = "screen -D -m -t \"{title}\" -S %s {command}" % s_id
         Terminal.__init__(self, sh_cmd, title, env)
         logger.warn('Screen started. Please connect in another terminal with '
-                    '"screen -r devshell"')
+                    '"screen -r devshell %s"' % s_id)
 
 
 def prioritized():