Il 26/09/2012 12:00, Kevin Wolf ha scritto:
>> > +
>> > + ret = write(fd, (void *)&acb, sizeof(acb));
>> > + if (ret >= 0) {
>> > + break;
>> > + }
>> > + if (errno == EINTR) {
>> > + continue;
>> > + }
>> > + if (errno != EAGAIN) {
>> > + break;
>> > + }
> Variatio delectat? ;-)
>
> How about just do { ... } while (errno == EINTR || errno == EAGAIN); ?
That should be
while ((ret < 0) && (errno == EINTR || errno == EAGAIN));
However, fd here is blocking, so you can just use qemu_write_full.
Paolo