[saga-rg] ISSUE 12
Andre Merzky
andre at merzky.net
Thu Apr 20 11:33:15 CDT 2006
12) change signature of read/write to have len_out as out param, and to return
error code (== EAGAIN on unsucessful read)
- DECIDED at GGF16
- is that _really_ the right way?
- OPEN, URGENT
At last GGF we discussed that issue - sorry for re-opening it.
My issue with the issue is, that this would be (almost) the only
place where we return an error code. Also, returning an
error code dviates from the POSIX version of read, which
would flag an error with a negative return value.
Sorry, I could not convince myself to change that in the
spec - hence this opinion poll on the mailing list:
(A) read (in int len_in,
in char* buffer,
out int len_out,
out int error);
error is an enum, like EAGAIN, EINTR etc, see man (2)
read. Similar signature for other I/O calls
(B) read (in int len_in,
in char* buffer,
out int retval);
retval is the length of data read if positive, and
flags error if negative, with definitions for EAGAIN,
EINTR etc.
Yes, that semantically overloads a return value.
If no (other) votes come in, that issue will be marked
solved with (A) as decided in Athens.
I vote (B).
Cheers, Andre.
--
"So much time, so little to do..." -- Garfield
More information about the saga-rg
mailing list