Может кто знает - столкнулся со следующей проблемой:
Есть следующий код для SIO:
attrs = SIO_ATTRS;
attrs.align = BUFALIGN;
attrs.model = SIO_ISSUERECLAIM;
outStream = SIO_create("/udevCodec", SIO_OUTPUT, BUFSIZE, &attrs);
if (outStream == NULL) {
SYS_abort("Create output stream FAILED.");
}
buf2 = (Ptr)MEM_calloc(0, BUFSIZE, 1);
buf3 = (Ptr)MEM_calloc(0, BUFSIZE, 1);
// память выделяется
if (SIO_issue(outStream, buf2, SIO_bufsize(outStream), NULL) != SYS_OK) {
SYS_abort("Error issuing buffer to the output stream");
}
if (SIO_issue(outStream, buf3, SIO_bufsize(outStream), NULL) != SYS_OK) {
SYS_abort("Error issuing buffer to the output stream");
}
буфера регистрируются нормально.
if (SIO_reclaim(outStream, (Ptr *)&outbuf, NULL) < 0) {
SYS_abort("Error reclaiming empty buffer from the output stream");
}
А вот на этой строчке все виснет. Т.е. Операциока не может мне выдать только, что зарегистрированный буфер. Может кто знает как это лечиться?????