Estoy tratando de hacer una secuencia de comandos python que utiliza el módulo de multiprocesamiento para producir 2 (o más) ventanas GTK. Estoy golpeando una pared aquí parece. Aquí está el código y los errores que estoy recibiendo:multiprocesamiento python con 2 ventanas GTK
p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
y:
def tiny_gtk_process():
import gtk
window = gtk.Window()
window.set_size_request(800,600)
window.show_all()
gtk.main()
mayor parte del tiempo estoy recibiendo:
multiwin.py: Fatal error IO 0 (Éxito) en el servidor X: 0.0. python: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy-> last_request_read) - (long) (dpy-> request)) < = 0) 'failed.
A veces me sale:
multiwin.py: Fatal error IO 11 (Recurso temporalmente no disponible) en el servidor X: 0.0.
¿El problema es el bucle gtk? ¿El multiprocesamiento no los aísla?
Cualquier idea sería muy útil.
¿Realmente desea usar multiprocesamiento, o simplemente desea tener 2 ventanas? – liberforce
Realmente necesito que esto esté en procesos separados. –
¿Está importando gtk en el script de llamada? Pude reproducir su problema cuando tenía un gtk de importación en el script de llamada, pero no cuando lo quité y la importación solo está en la función tiny_gtk_process. – bohrax