Lines Matching refs:aiop

1409 	struct aio_info *aiop;
1546 aiop = aio_slot(aio_id);
1548 if (reada(fd, addr, nbytes, &aiop->iosw, signo) == -1) {
1552 &aiop->iosw));
1567 if (aiop->iosw.sw_count != nbytes) {
1571 aiop->iosw.sw_flag,
1572 aiop->iosw.sw_error,
1573 aiop->iosw.sw_count,
1575 NULL, &aiop->iosw));
1608 struct aio_info *aiop;
1854 aiop = aio_slot(aio_id);
1860 if (writea(fd, addr, nbytes, &aiop->iosw, signo) == -1) {
1881 if (aiop->iosw.sw_count != nbytes) {
1885 aiop->iosw.sw_flag,
1886 aiop->iosw.sw_error,
1887 aiop->iosw.sw_count,
1889 Pattern, &aiop->iosw));
1916 &aiop->iosw)
2093 struct aio_info *aiop;
2189 aiop = aio_slot(aio_id);
2208 lio_req.li_status = &aiop->iosw;
2247 if (aiop->iosw.sw_count != lio->r_nbytes * nstrides) {
2251 aiop->iosw.sw_flag,
2252 aiop->iosw.sw_error, aiop->iosw.sw_count,
2537 struct aio_info *aiop;
2578 aiop = aio_slot(aio_id);
2586 l->li_status = &aiop->iosw;
2802 struct aio_info *aiop;
2814 aiop = aio_slot(aio_id);
2816 memset((void *)&aiop->aiocb, 0, sizeof(aiocb_t));
2818 aiop->aiocb.aio_fildes = fd;
2819 aiop->aiocb.aio_nbytes = req->r_data.io.r_nbytes;
2820 aiop->aiocb.aio_offset = req->r_data.io.r_offset;
2821 aiop->aiocb.aio_buf = addr;
2822 aiop->aiocb.aio_reqprio = 0; /* must be 0 */
2823 aiop->aiocb.aio_lio_opcode = 0;
2826 aiop->aiocb.aio_sigevent.sigev_notify = SIGEV_SIGNAL;
2827 aiop->aiocb.aio_sigevent.sigev_signo = signo;
2829 aiop->aiocb.aio_sigevent.sigev_signo = 0;
2830 aiop->aiocb.aio_sigevent.sigev_notify = SIGEV_CALLBACK;
2831 aiop->aiocb.aio_sigevent.sigev_func = cb_handler;
2832 aiop->aiocb.aio_sigevent.sigev_value.sival_int = aio_id;
2834 aiop->aiocb.aio_sigevent.sigev_notify = SIGEV_NONE;
2835 aiop->aiocb.aio_sigevent.sigev_signo = 0;
2839 rc = aio_write(&aiop->aiocb);
2841 rc = aio_read(&aiop->aiocb);
2862 cp += sprintf(cp, "syscall: %s(&aiop->aiocb)\n", sy->sy_name);
3068 struct aio_info *aiop;
3346 aiop = aio_slot(s->aioid[i]);
3347 iosw = &aiop->iosw;
3385 aiop = aio_slot(s->aioid[i]);
3390 if (aiop->aio_errno != 0) {
3394 strerror(aiop->aio_errno),
3395 aiop->aio_errno,
3402 } else if (aiop->aio_ret != nbytes) {
3407 aiop->aio_errno,
3408 aiop->aio_ret,
4597 struct aio_info *aiop;
4600 aiop = &Aio_Info[i];
4602 if (aiop->strategy == A_SIGNAL && aiop->sig == sig) {
4603 aiop->signalled++;
4605 if (aio_done(aiop)) {
4606 aiop->done++;
4643 struct aio_info *aiop;
4646 aiop = aio_slot(val.sival_int);
4647 /*printf("cb_handler, aiop=%p\n", aiop);*/
4650 if (aiop->strategy == A_CALLBACK) {
4651 aiop->signalled++;
4653 if (aio_done(aiop)) {
4654 aiop->done++;
4664 struct aio_info *aiop;
4666 aiop = NULL;
4671 aiop = &Aio_Info[i];
4672 aiop->busy = 1;
4673 aiop->id = id++;
4678 aiop = &Aio_Info[i];
4684 if (aiop == NULL) {
4692 return aiop;
4697 struct aio_info *aiop;
4700 aiop = aio_slot(-1);
4702 aiop->fd = fd;
4703 aiop->strategy = strategy;
4704 aiop->done = 0;
4706 memset((char *)&aiop->iosw, 0x00, sizeof(aiop->iosw));
4710 aiop->sig = sig;
4711 aiop->signalled = 0;
4717 sigaction(sig, &sa, &aiop->osa);
4719 aiop->sig = -1;
4720 aiop->signalled = 0;
4723 return aiop->id;
4728 struct aio_info *aiop;
4730 aiop = aio_slot(aio_id);
4732 if (aiop->strategy == A_SIGNAL) {
4733 sigaction(aiop->sig, &aiop->osa, NULL);
4736 aiop->busy = 0;
4747 struct aio_info *aiop;
4756 aiop = aio_slot(aio_id);
4757 /*printf("%d aiop B =%p\n", getpid(), aiop);*/
4759 switch (aiop->strategy) {
4761 while (!aio_done(aiop)) ;
4766 sighold(aiop->sig);
4768 while (!aiop->signalled || !aiop->done) {
4770 sighold(aiop->sig);
4776 ioswlist[0] = &aiop->iosw;
4777 if (recall(aiop->fd, 1, ioswlist) < 0) {
4788 RECALL_SET(mask, aiop->fd);
4795 RECALL_CLR(mask, aiop->fd);
4800 ioswlist[0] = &aiop->iosw;
4811 aioary[0] = &aiop->aiocb;
4822 } while (aiop->done == 0);
4841 aioary[0] = &aiop->aiocb;
4849 aio_done(aiop);
4854 /*printf("aio_wait: errno %d return %d\n", aiop->aio_errno, aiop->aio_ret);*/