[so] [SO][Tema2][Linux] read() nu seteaza errno

Paul Olaru olarupaulstelian97 at gmail.com
Tue Mar 26 21:20:58 EET 2019


Nu îți pasă de errno. read() original setează errno dar erorile injectate
de checker pe cazul respectiv nu setează.

so_ferror doar spune dacă a fost o eroare (nu putem identifica de ce tip).

On Tue, Mar 26, 2019, 20:57 George Diaconu via so <so at cursuri.cs.pub.ro>
wrote:

> Salut,
>
> Cum spune si subiectul, apelul read(), in momentul in care intoarce
> -1, nu seteaza si errno. In manual scrie ca ar trebui sa il seteze,
> dar totusi, secventa urmatoare de cod:
>
> long rc = read(...)
> int code = errno;
> printf("%d\n", code);
>
> afiseaza intotdeauna 0, chiar si atunci cand read() intoarce -1.
>
> Am inclus "errno.h", si nu fac nimic ciudat cu errno (cum ar fi sa-l
> redeclar).
> Am doua intrebari:
> 1. Nu am inteles eu bine cand e setata valoarea intoarsa de errno?
> 2. E ok daca imi declar singur mai multe coduri de eroare si le intorc
> pe acestea in so_ferror()?
>
> Multumesc anticipat.
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20190326/4f75cf72/attachment.html>


More information about the so mailing list