Home | History | Annotate | Download | only in engines

Lines Matching refs:wd

35 	struct windowsaio_data *wd;
52 struct windowsaio_data *wd;
55 wd = calloc(1, sizeof(struct windowsaio_data));
56 if (wd == NULL) {
62 wd->aio_events = malloc(td->o.iodepth * sizeof(struct io_u*));
63 if (wd->aio_events == NULL) {
71 wd->iocomplete_event = CreateEvent(NULL, FALSE, FALSE, NULL);
72 if (wd->iocomplete_event == NULL) {
79 if (wd != NULL) {
80 if (wd->aio_events != NULL)
81 free(wd->aio_events);
83 free(wd);
87 td->io_ops->data = wd;
91 struct windowsaio_data *wd;
100 wd = td->io_ops->data;
101 wd->iothread_running = TRUE;
102 wd->iocp = hFile;
117 ctx->wd = wd;
118 wd->iothread = CreateThread(NULL, 0, IoCompletionRoutine, ctx, 0, NULL);
119 if (wd->iothread == NULL)
123 if (rc || wd->iothread == NULL)
132 struct windowsaio_data *wd;
134 wd = td->io_ops->data;
136 if (wd != NULL) {
137 wd->iothread_running = FALSE;
138 WaitForSingleObject(wd->iothread, INFINITE);
140 CloseHandle(wd->iothread);
141 CloseHandle(wd->iocomplete_event);
143 free(wd->aio_events);
144 free(wd);
207 struct windowsaio_data *wd;
209 wd = td->io_ops->data;
211 if (CreateIoCompletionPort(f->hFile, wd->iocp, 0, 0) == NULL) {
254 struct windowsaio_data *wd = td->io_ops->data;
255 return wd->aio_events[event];
262 struct windowsaio_data *wd = td->io_ops->data;
288 wd->aio_events[dequeued] = io_u;
297 status = WaitForSingleObject(wd->iocomplete_event, mswait);
369 struct windowsaio_data *wd;
375 wd = ctx->wd;
393 SetEvent(wd->iocomplete_event);
394 } while (ctx->wd->iothread_running);