Hi, I've been poking at this issue now for some time, and haven't been able to find any info regarding this in the man pages or online.
I'm running Regolith (basically Ubuntu with i3), and normally my gpg key is unlocked by me logging into the graphical session, i.e. using the key to decrypt something does not ask for a key. What I noticed though, is that if I want to decrypt multiple things in parallel, first the decryption process seems to slow down faster than linear, and then some (not all) decrypt tasks start prompting me for a password to the key. I've done a couple of experiments, and my feeling is that even though the decrypt task are run in parallel, something is done serially, but I'm not sure what and where exactly and that there is a timeout on waiting for this. My best bet, is that the password for the key needs to be fetched from the gnome keyring (? if it's called that) and that gpg-agent times out waiting for this and just requests it from the user. I made a short script in python (attached) demonstrating this. On my machine, setting WORKERNUM=7 is enough to trigger the issue. Could somebody point me to a resources explaining what is happening here? And more importantly, is there some setting I can change to avoid the occasional password prompts? Thanks, Bence
import subprocess import multiprocessing as mp import time the_queue = mp.Queue() WORKERNUM = 7 def worker_main(queue): while True: msg = queue.get(True) print(time.time(), msg) out = subprocess.run(["gpg", "--decrypt", "test.gpg"], capture_output=True) print(msg, time.time(), out.stdout) the_pool = mp.Pool(WORKERNUM, worker_main, (the_queue,)) counter = 0 while True: counter += 1 the_queue.put(counter) print(the_queue.qsize()) while the_queue.qsize() > 10: time.sleep(0.1)
_______________________________________________ Gnupg-users mailing list Gnupg-users@gnupg.org https://lists.gnupg.org/mailman/listinfo/gnupg-users