[Python-de] fork und objekt-gültigkeit
Sebastian Moors
mauser at s13s.de
Don Jul 1 18:17:31 CEST 2004
hi!
ich habe ein problem mit fork().
der code soll einen server aufbauen, der einen mp3player steuert.
das problem ist, dass bei jdem fork dass objekt mplayer kopiert wird und nicht
immer ein und dasselbe objekt angesprochen wird.
das heisst, das änderungen die ein fork()-prozess am objekt mplayer macht, vom
nächsten fork-prozess nicht mehr gelesen werden können, da der erste prozess
ja ein "privates" abbild von mplayer macht und dort die änderungen ausführt.
ist es auch irgendwie möglich, immer auf dasselbe objekt zuzugreifen ?
also eine art globales,festes objekt zu deklarieren ?
(ohne shared memory zu benutzen)
mfg
Sebastian
player1=player.mplayer('/usr/bin/mpg123')
while stop==0:
conn, addr = s.accept()
pid2=os.fork()
temp=weakref.ref(player1)
media_play=temp()
if pid2==0:
while stop==0:
data = conn.recv(1024)
if data != "":
print 'Server:Connected by', addr, " Recv: ",data
answer=data_handler(data,media_play)
if answer=="quit ok": stop=1
conn.send(answer)
conn.close()
else:
os.wait()
print "Child exited "
--
"It's God. No, not Richard Stallman, or Linus Torvalds, but God."
(By Matt Welsh)