<div dir="auto"><div>Comportament ciudat: mă gândeam la situația în care libc și-ar reinițializa heap-ul după ce am dat so_exec_start și astfel bufferele din printf/fprintf/... nu mai sunt partajate cu programul, nu mai sunt flushuite corespunzător etc. Nu sunt sigur că se comportă așa sau nu, eu voi merge pe presupunerea asta și mă voi rezuma la a folosi doar apeluri de sistem pentru implementare.<div dir="auto"><br></div><div dir="auto">Cheaty: La tema anterioară nu puteam folosi fprintf pt a implementa so_fprintf -- asta ar fi fost cheaty. La SD, nu puteam folosi std::map pentru a implementa ceva echivalent lui.</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 15, 2019, 12:43 PM Mihai Barbulescu <<a href="mailto:b12mihai@gmail.com">b12mihai@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Salut,<br>
<br>
Iar am probleme cu vocabularul vostru si devin din nou confuz. Ce e aia:<br>
- functie libc care se comporta ciudat? -> defineste conceptul<br>
"comportament ciudat" ca sa imi calibrez limbajul pe frecventa ta -><br>
da-mi si exmplele la care te gandesti, eu unul nu am in minte nici o<br>
functie __standard__ care se comporta ciudat. Daca exista asa ceva a<br>
fost marcata ca deprecated si inlocuita!<br>
- implementare in mod cheaty -> ce-i aia mod cheaty, defineste-mi?<br>
Da-mi exemplu de functie care face asta<br>
<br>
In standarde precum libc nu se pun functii "periculoase" sau "cheaty"<br>
sau whatever le numiti voi. Se pun functii care au trecut de un amplu<br>
proces de review si validare. Singurul lucru de care trebuie tinut<br>
cont e daca functiile sunt sau nu thread safe atunci cand programati<br>
multithreaded...ATAT. Daca se comporta ca mai sus => se ridica bug cu<br>
severitate mare la libc...<br>
<br>
Va rog sa va luati un moment de a revizui textul scris ca sa putem<br>
vorbi pe aceeasi frecventa si sa fim sincronizati.<br>
<br>
On Mon, 15 Apr 2019 at 12:27, Paul Olaru <<a href="mailto:olarupaulstelian97@gmail.com" target="_blank" rel="noreferrer">olarupaulstelian97@gmail.com</a>> wrote:<br>
><br>
> Pe scurt, dacă e o funcționalitate oferită de sistemul de operare e ok și putem folosi ce ne oferă acesta fără restricții, și tot ce e de evitat e doar folosirea funcțiilor din libc care ori s-ar comporta ciudat ori ar implementa într-un mod cheaty funcționalitatea dorită? (Notă, la tema asta nu cred că e nimic în a doua categorie dar ar putea fi câteva în prima)<br>
><br>
> On Mon, Apr 15, 2019, 12:24 PM Mihai Barbulescu via so <<a href="mailto:so@cursuri.cs.pub.ro" target="_blank" rel="noreferrer">so@cursuri.cs.pub.ro</a>> wrote:<br>
>><br>
>> Buna Alice,<br>
>><br>
>> Si eu sunt confuz din doua motive:<br>
>> 1. Formularea ta: alea nu sunt semnale, par a fi chestii pe care le<br>
>> primesti in siginfo_t in si_code [1],[2]<br>
>> 2. Nu vad de ce ar fi interzis sa verifici structura siginfo_t si<br>
>> continutul ei daca te ajuta in rezolvare, e aceasta restrictie<br>
>> mentionata pe undeva?<br>
>><br>
>> [1] <a href="https://www.mkssoftware.com/docs/man5/siginfo_t.5.asp" rel="noreferrer noreferrer" target="_blank">https://www.mkssoftware.com/docs/man5/siginfo_t.5.asp</a><br>
>> [2] <a href="https://elixir.bootlin.com/linux/latest/source/include/uapi/asm-generic/siginfo.h#L221" rel="noreferrer noreferrer" target="_blank">https://elixir.bootlin.com/linux/latest/source/include/uapi/asm-generic/siginfo.h#L221</a><br>
>><br>
>> On Mon, 15 Apr 2019 at 11:10, Adrian Șendroiu via so<br>
>> <<a href="mailto:so@cursuri.cs.pub.ro" target="_blank" rel="noreferrer">so@cursuri.cs.pub.ro</a>> wrote:<br>
>> ><br>
>> > Bună,<br>
>> ><br>
>> > La ce te referi mai exact? Alea nu sunt semnale.<br>
>> ><br>
>> > On Mon, 15 Apr 2019 at 10:22, Alice Suiu via so <<a href="mailto:so@cursuri.cs.pub.ro" target="_blank" rel="noreferrer">so@cursuri.cs.pub.ro</a>> wrote:<br>
>> > ><br>
>> > > Buna ziua,<br>
>> > ><br>
>> > > Este permis ca in cadrul rezolvării temei de pe Linux sa ne folosim de semnalele SEGV_MAPERR si SEGV_ACCERR pentru a verifica dacă o pagina este mapata sau nemapata?<br>
>> > ><br>
>> > > Mulțumesc,<br>
>> > > Alice Suiu<br>
>> > > _______________________________________________<br>
>> > > <a href="http://ocw.cs.pub.ro/courses/so/info/lista-discutii" rel="noreferrer noreferrer" target="_blank">http://ocw.cs.pub.ro/courses/so/info/lista-discutii</a><br>
>> > _______________________________________________<br>
>> > <a href="http://ocw.cs.pub.ro/courses/so/info/lista-discutii" rel="noreferrer noreferrer" target="_blank">http://ocw.cs.pub.ro/courses/so/info/lista-discutii</a><br>
>><br>
>><br>
>><br>
>> --<br>
>> Cu stimă,<br>
>> Mihai Bărbulescu<br>
>> _______________________________________________<br>
>> <a href="http://ocw.cs.pub.ro/courses/so/info/lista-discutii" rel="noreferrer noreferrer" target="_blank">http://ocw.cs.pub.ro/courses/so/info/lista-discutii</a><br>
<br>
<br>
<br>
-- <br>
Cu stimă,<br>
Mihai Bărbulescu<br>
</blockquote></div></div></div>