Hi Jamie,I found another issue specific to the 'win32' platform. I changed the code and debugging and running your test script works over here. See attached file for changes to be applied.
Regards, Detlev Am 16.11.23 um 23:39 schrieb Jamie Riotto:
Ok, so I have Eric7 loaded into a virtual environment, 'eric7_qt6_venv', which has eric7-23.11(rev.e075C8fe07fd). I went to c:\Users\jamie\eric7_qt6_venv\Lib\site-packages\eric7\Debugger\DebuggerInterfacePython.py anccommented out the line: #self.__autoContinued.append(debuggerId)When I reran the script I submitted, I had the same behavior as before, i.e. no change. Did I miss something?- jOn Thu, Nov 16, 2023 at 10:28 AM Detlev Offenbach <det...@die-offenbachs.de> wrote:Hi Jaimie, it is actually a one line change. If you visit https://hg.die-offenbachs.homelinux.org/eric/rev/1e498581a094 you will see, which line needs to be removed. Regards, Detlev Am 16.11.23 um 19:10 schrieb Jamie Riotto:-- Detlev OffenbachDetlev, Excuse my ignorance, but I'm not sure how to obtain a changeset through mercurial. Is there an easy way? - j On Thu, Nov 16, 2023 at 9:12 AM Detlev Offenbach <det...@die-offenbachs.de> wrote: Hi, I just committed changeset 1e498581a094, which should fix the issue. Please give it a try and let me know. Otherwise, it will be contained in release 23.12 as is. Regards, Detlev Am 15.11.23 um 16:33 schrieb Jamie Riotto:import multiprocessing from time import time import random def parallelSim(job_queue, output_queue): for data in iter(job_queue.get, 'STOP'): choices = random.choices(data, k=10) total = 0 for i, c in enumerate(choices): sign = 1 if i%2==0 else -1 total += c * c * sign output_queue.put(total) if __name__ == '__main__': start_time = time() job_queue = multiprocessing.Queue() output_queue = multiprocessing.Queue() # create some data data = list(range(1, 1000)) # DEBUG #numCPUs = multiprocessing.cpu_count() numCPUs = 4 iterations = 10 numjobs = numCPUs * iterations # load up the job queue for sim in range(numjobs): job_queue.put(data) # add Stops to the job queue for x in range(numCPUs): job_queue.put('STOP') serialDebug = False if serialDebug is True: # Debug the Parallel Process parallelSim(job_queue, output_queue) else: # parallelize processing using a pool of processes for i in range(numCPUs): multiprocessing.Process(target=parallelSim, args=(job_queue, output_queue)).start() results = [] for r in range(numjobs): results.append(output_queue.get()) avg_result = sum(results) / numjobs print("") print(f'Average Results = {avg_result}') end_time = time() elapsed = end_time - start_time print(f"Finished in: {elapsed:.3f} seconds")-- Detlev Offenbachdet...@die-offenbachs.dedet...@die-offenbachs.de
-- Detlev Offenbach det...@die-offenbachs.de
diff -r 1e498581a094 src/eric7/DebugClients/Python/MultiProcessDebugExtension.py --- a/src/eric7/DebugClients/Python/MultiProcessDebugExtension.py Thu Nov 16 18:10:59 2023 +0100 +++ b/src/eric7/DebugClients/Python/MultiProcessDebugExtension.py Fri Nov 17 13:57:27 2023 +0100 @@ -152,7 +152,8 @@ """ Function replacing the 'spawnl' functions of the os module. """ - args = patchArguments(_debugClient, args) + if _shallPatch(): + args = patchArguments(_debugClient, args) return getattr(os, originalName)(mode, path, *args) return newSpawnl @@ -177,7 +178,8 @@ """ Function replacing the 'spawnv' functions of the os module. """ - args = patchArguments(_debugClient, args) + if _shallPatch(): + args = patchArguments(_debugClient, args) return getattr(os, originalName)(mode, path, args) return newSpawnv @@ -202,7 +204,8 @@ """ Function replacing the 'spawnve' functions of the os module. """ - args = patchArguments(_debugClient, args) + if _shallPatch(): + args = patchArguments(_debugClient, args) return getattr(os, originalName)(mode, path, args, env) return newSpawnve @@ -229,7 +232,8 @@ """ Function replacing the 'posix_spawn' functions of the os module. """ - argv = patchArguments(_debugClient, argv) + if _shallPatch(): + argv = patchArguments(_debugClient, argv) return getattr(os, originalName)(path, argv, env, **kwargs) return newPosixSpawn @@ -362,9 +366,9 @@ import _subprocess # __IGNORE_WARNING_I10__ except ImportError: import _winapi as _subprocess # __IGNORE_WARNING_I10__ - return getattr(_subprocess, originalName)( - appName, patchArgumentStringWindows(_debugClient, cmdline), *args - ) + if _shallPatch(): + cmdline = patchArgumentStringWindows(_debugClient, cmdline) + return getattr(_subprocess, originalName)(appName, cmdline, *args) return newCreateProcess
OpenPGP_0xBD1F26A5DA8A6150.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature