Может кто знает - столкнулся со следующей проблемой: Есть следующий код для 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"); } А вот на этой строчке все виснет. Т.е. Операциока не может мне выдать только, что зарегистрированный буфер. Может кто знает как это лечиться?????
|