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

login
register
mail settings
Submitter Mark Hatle
Date Aug. 24, 2012, 7:23 p.m.
Message ID <38c075c68dde693fab241a3ae279ff4ad236352e.1345836133.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/35329/
State Accepted
Commit 1677b736bca5dc46db522da1874459d2de77209d
Headers show

Comments

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

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():