<p dir="ltr"><br>
On Mar 12, 2014 9:45 AM, "Pascu Corneliu Florin" <<a href="mailto:pascucorneliuflorin@gmail.com">pascucorneliuflorin@gmail.com</a>> wrote:<br>
><br>
> OK , am inteles nevoia de a avea un signed pentru iesire ca sa poate da return -1 in caz de eroare .<br>
> Ce nu intelegeam se reduce la : size_t e unsigned si apartine [0, 4294967296] si<br>
> ssize_t e signed si apartine [-214783647, 214783647] ( am dat printf pe sistemul meu , dar<br>
> cred ca sunt definite asa in limits.h). <br>
> Orice read care incearca sa citeasca intre [ 214783647 + 1, 4294967296]<br>
> ar putea face asta din definita read-ului dar ar avea intotdeauna comportament undefined.<br>
> Asa este sau ceva imi scapa :)? Mi s-a parut dubios .</p>
<p dir="ltr">Corect, este fix ce a zis și Răzvan, comportamentul pentru read este undefined în această situație. Oricum, având în vedere că pe un sistem pe 32 de biți minim 1GB din spațiul virtual de adrese este asociat kernel-ului, cam dificil să ajungi să vrei să faci un read de peste 2G</p>