[1/1] terminal.py: use unique ids for screen sessions

Submitted by Mark Hatle on Aug. 24, 2012, 7:23 p.m.

Details

Message ID 38c075c68dde693fab241a3ae279ff4ad236352e.1345836133.git.mark.hatle@windriver.com
State Accepted
Commit 1677b736bca5dc46db522da1874459d2de77209d
Headers show

Commit Message

Mark Hatle Aug. 24, 2012, 7:23 p.m.
From: Jason Wessel <jason.wessel@windriver.com>

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.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/lib/oe/terminal.py |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 3131798..30e8f92 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -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():