[so] handler pentru semnale
George Ciobanu
so@atlantis.cs.pub.ro
Mon, 8 Dec 2003 01:29:02 -0800 (PST)
--0-904513596-1070875742=:73598
Content-Type: text/plain; charset=us-ascii
Intrebarile tale depind de modul tau de implementarea al problemei si tb rezolvate de tine ;)
Cristian Zamfir <zamfir@fx.ro> wrote:1. Daca folosim un handler pentru semnalele care apar cind se termina o
operatie asincrona, nu imi dau seama cum putem sa sincronizam apelarea
handlerului cu threadul nostru.
Ma gindesc la urmatorul scenariu: Threadul care face cererile aio tocmai
modifica ceva in coada de cereri (sa zicem un delete ca urmare a terminarii
cu succes a unei alte cereri). Tocmai in mijlocul operatiei se termina o alta
operatie asincrona si se executa handler-ul pentru acel semnal, de catre
acest thread. Handlerul va face astfel acces nesincronizat la un anumit index
din coada (sa zicem ca primeste indexul ca parametru in structura siginfo_t).
Pe linga faptul ca indexul ar putea sa nu mai fie consistent, chiar si coada
ar putea sa nu mai fie, pentru ca tocmai se executa o operatie delete, si
cozile de obicei se fac cu liste inlantuite. Chiar daca sincronizam in
interiorul handler-ului accesul la coada, printr-un semafor, indexul, care e
primit ca parametru si nu poate sa fie sincronizat poate sa fie inconsistent.
2.Ce se intimpla in cazul in care doua cereri asincrone asociate aceluiasi
thread se termina cam in acelasi timp?
_______________________________________________
so mailing list
so@atlantis.cs.pub.ro
http://atlantis.cs.pub.ro/cgi-bin/mailman/listinfo/so
---------------------------------
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing
--0-904513596-1070875742=:73598
Content-Type: text/html; charset=us-ascii
<DIV>Intrebarile tale depind de modul tau de implementarea al problemei si tb rezolvate de tine ;)<BR><BR><B><I>Cristian Zamfir <zamfir@fx.ro></I></B> wrote:
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">1. Daca folosim un handler pentru semnalele care apar cind se termina o <BR>operatie asincrona, nu imi dau seama cum putem sa sincronizam apelarea <BR>handlerului cu threadul nostru. <BR>Ma gindesc la urmatorul scenariu: Threadul care face cererile aio tocmai <BR>modifica ceva in coada de cereri (sa zicem un delete ca urmare a terminarii <BR>cu succes a unei alte cereri). Tocmai in mijlocul operatiei se termina o alta <BR>operatie asincrona si se executa handler-ul pentru acel semnal, de catre <BR>acest thread. Handlerul va face astfel acces nesincronizat la un anumit index <BR>din coada (sa zicem ca primeste indexul ca parametru in structura siginfo_t). <BR>Pe linga faptul ca indexul ar putea sa nu mai fie consistent, chiar si coada <BR>ar putea sa nu mai fie, pentru ca tocmai se executa o operatie delete, si <BR>cozile de obicei se fac cu liste inlantuite. Chiar daca sincronizam in
<BR>interiorul handler-ului accesul la coada, printr-un semafor, indexul, care e <BR>primit ca parametru si nu poate sa fie sincronizat poate sa fie inconsistent. <BR><BR>2.Ce se intimpla in cazul in care doua cereri asincrone asociate aceluiasi <BR>thread se termina cam in acelasi timp?<BR><BR>_______________________________________________<BR>so mailing list<BR>so@atlantis.cs.pub.ro<BR>http://atlantis.cs.pub.ro/cgi-bin/mailman/listinfo/so</BLOCKQUOTE></DIV><p><hr SIZE=1>
Do you Yahoo!?<br>
<a href="http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=21260/*http://photos.yahoo.com">New Yahoo! Photos - easier uploading and sharing</a>
--0-904513596-1070875742=:73598--