Faptul ca se testeaza ca a fost restaurat vechiul handle (sa_handle) inseamna ca trebuia sa folosim sa_handler pentru interceptare SIGSEGV ? <br>Eu am folosit sa_sigaction (aveam nevoie de adresa la care se produce SIGSECV) si pe acesta l-am restaurat la vechea valoare, dar pentru sa_handler obtin failed daca restaurez action.sa_handler = old_action.sa_handler asa ca am folosit action.sa_handler = SIG_DFL. Este corect ?<br>
Ca sa iau informatia despre old_action am folosit sigaction ( SIGSEGV , &amp;action , &amp;old_action );<br>Functile de set_signal si restore_signal sunt cele din laboratorul 7 task 5.<br><br><div class="gmail_quote">2009/4/30 Razvan Deaconescu <span dir="ltr">&lt;<a href="mailto:razvan.deaconescu@cs.pub.ro">razvan.deaconescu@cs.pub.ro</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Thu, 2009-04-30 at 12:47 +0300, mmdumi wrote:<br>
&gt; Salut, am intalnit mai multe probleme legate de teste, primele 2 sunt<br>
&gt; urmatoarele:<br>
&gt; 1. la functiile check_ram / check_swap si altele sunt 2 variabile<br>
&gt; exp_val si read_val de tipurile int si size_t. Problema este ca, din<br>
&gt; testele mele pe o arhitectura de 64 biti la comparare, cele 2 valori<br>
&gt; nu sunt identice, in timp ce pe 32 de biti sunt. Nu stiu exact cum<br>
&gt; sunt reprezentate cele 2 in memorie pe ambele arhitectura dar e clar o<br>
&gt; problema.<br>
<br>
</div>Da. Este o problema. Faceti testarea pe masina virtuala.<br>
<div class="im"><br>
&gt; 2. La testul 1, de ce se mai apeleaza set_signal (); (cel din teste).<br>
&gt; Este deja apelat in biblioteca noastra.<br>
<br>
</div>Se configureaza un handler de semnal specializat pentru interceptarea<br>
semnalelor (pentru verificari) - segv_handler. Din acel handler se<br>
apeleaza handler-ul pe care voi il configurati in biblioteca (observa<br>
ultimul apel din segv_handler).<br>
<div class="im"><br>
&gt;  Mie unul imi pica testul de sig_close la primul test, in timp ce la<br>
&gt; celelalte teste este ok.<br>
<br>
</div>Poate ca nu restaurarezi vechiul handler (SIG_DFL) in vend. Urmareste<br>
testul (linia 382):<br>
<br>
---<br>
test (&quot;sig_closed&quot;, oldaction.sa_handler == SIG_DFL);<br>
---<br>
<br>
Razvan<br>
<br>
_______________________________________________<br>
so mailing list<br>
<a href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a><br>
<a href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so" target="_blank">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a><br>
</blockquote></div><br>