struct aio_context *aio; 
struct aio_thread_req req; 
static int not_aio_thread(void *arg){        struct aio_context *aio;        struct aio_thread_reply reply;        int err;        signal(SIGWINCH, SIG_IGN);        while(1){                err = os_read_file(aio_req_fd_r, &aio, sizeof(aio));                if(err != sizeof(aio)){                        if(err < 0)                                printk("not_aio_thread - read failed, "                                       "fd = %d, err = %d\n", aio_req_fd_r,                                       -err);                        else {                                printk("not_aio_thread - short read, fd = %d, "                                       "length = %d\n", aio_req_fd_r, err);                        }                        continue;                } again:                err = do_not_aio(aio);                if(update_aio(aio, err))                        goto again;                reply = ((struct aio_thread_reply) { .data 	= aio,                                                     .err	= aio->len });                err = os_write_file(aio->reply_fd, &reply, sizeof(reply));                if(err != sizeof(reply))                        printk("not_aio_thread - write failed, fd = %d, "                               "err = %d\n", aio_req_fd_r, -err);        }}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/91acb21f084aa244f26839406ae7ed8aa3668058/aio.c/buggy/arch/um/os-Linux/aio.c