diff options
| -rwxr-xr-x | bitbake/bin/bitbake | 2 | ||||
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 8 | ||||
| -rw-r--r-- | bitbake/lib/bb/cookerdata.py | 1 | ||||
| -rw-r--r-- | bitbake/lib/bb/server/xmlrpc.py | 7 |
4 files changed, 16 insertions, 2 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index a0a2baa4bc..5857b9242c 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake | |||
| @@ -208,8 +208,10 @@ def start_server(servermodule, configParams, configuration): | |||
| 208 | if configParams.bind: | 208 | if configParams.bind: |
| 209 | (host, port) = configParams.bind.split(':') | 209 | (host, port) = configParams.bind.split(':') |
| 210 | server.initServer((host, int(port))) | 210 | server.initServer((host, int(port))) |
| 211 | configuration.interface = [ server.serverImpl.host, server.serverImpl.port ] | ||
| 211 | else: | 212 | else: |
| 212 | server.initServer() | 213 | server.initServer() |
| 214 | configuration.interface = [] | ||
| 213 | 215 | ||
| 214 | try: | 216 | try: |
| 215 | configuration.setServerRegIdleCallback(server.getServerIdleCB()) | 217 | configuration.setServerRegIdleCallback(server.getServerIdleCB()) |
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index b36ed6fe36..7b10f80680 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
| @@ -125,6 +125,14 @@ class BBCooker: | |||
| 125 | self.lock = bb.utils.lockfile(lockfile, False, False) | 125 | self.lock = bb.utils.lockfile(lockfile, False, False) |
| 126 | if not self.lock: | 126 | if not self.lock: |
| 127 | bb.fatal("Only one copy of bitbake should be run against a build directory") | 127 | bb.fatal("Only one copy of bitbake should be run against a build directory") |
| 128 | try: | ||
| 129 | self.lock.seek(0) | ||
| 130 | self.lock.truncate() | ||
| 131 | if len(configuration.interface) >= 2: | ||
| 132 | self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); | ||
| 133 | self.lock.flush() | ||
| 134 | except: | ||
| 135 | pass | ||
| 128 | 136 | ||
| 129 | # TOSTOP must not be set or our children will hang when they output | 137 | # TOSTOP must not be set or our children will hang when they output |
| 130 | fd = sys.stdout.fileno() | 138 | fd = sys.stdout.fileno() |
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py index e640ed0f35..6200b0ebac 100644 --- a/bitbake/lib/bb/cookerdata.py +++ b/bitbake/lib/bb/cookerdata.py | |||
| @@ -127,6 +127,7 @@ class CookerConfiguration(object): | |||
| 127 | self.dump_signatures = False | 127 | self.dump_signatures = False |
| 128 | self.dry_run = False | 128 | self.dry_run = False |
| 129 | self.tracking = False | 129 | self.tracking = False |
| 130 | self.interface = [] | ||
| 130 | 131 | ||
| 131 | self.env = {} | 132 | self.env = {} |
| 132 | 133 | ||
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py index 3a67ab0cf2..46d074a738 100644 --- a/bitbake/lib/bb/server/xmlrpc.py +++ b/bitbake/lib/bb/server/xmlrpc.py | |||
| @@ -198,6 +198,11 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): | |||
| 198 | Constructor | 198 | Constructor |
| 199 | """ | 199 | """ |
| 200 | BaseImplServer.__init__(self) | 200 | BaseImplServer.__init__(self) |
| 201 | if (interface[1] == 0): # anonymous port, not getting reused | ||
| 202 | self.single_use = True | ||
| 203 | # Use auto port configuration | ||
| 204 | if (interface[1] == -1): | ||
| 205 | interface = (interface[0], 0) | ||
| 201 | SimpleXMLRPCServer.__init__(self, interface, | 206 | SimpleXMLRPCServer.__init__(self, interface, |
| 202 | requestHandler=BitBakeXMLRPCRequestHandler, | 207 | requestHandler=BitBakeXMLRPCRequestHandler, |
| 203 | logRequests=False, allow_none=True) | 208 | logRequests=False, allow_none=True) |
| @@ -208,8 +213,6 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): | |||
| 208 | self.autoregister_all_functions(self.commands, "") | 213 | self.autoregister_all_functions(self.commands, "") |
| 209 | self.interface = interface | 214 | self.interface = interface |
| 210 | self.single_use = False | 215 | self.single_use = False |
| 211 | if (interface[1] == 0): # anonymous port, not getting reused | ||
| 212 | self.single_use = True | ||
| 213 | 216 | ||
| 214 | def addcooker(self, cooker): | 217 | def addcooker(self, cooker): |
| 215 | BaseImplServer.addcooker(self, cooker) | 218 | BaseImplServer.addcooker(self, cooker) |
