patches for FTBFS on GNU/kFreeBSD

Petr Salinger Petr.Salinger at t-systems.cz
Tue Oct 25 19:50:31 UTC 2005


Hi.

> > Bug#335721: lam: FTBFS on GNU/kFreeBSD                   
> > -     err = aio_suspend((const aiocb_t **) &((*request)->handle), 1, 0);
> > +     err = aio_suspend((const struct aiocb **) &((*request)->handle), 1, 0);
> 
> This suggests we're missing something in our system headers.  

I don't think so. 

> Why did you need to replace aiocb_t with "struct aiocb"?

Look at surrounding lines:

        do {
            err = aio_suspend((const aiocb_t **) &((*request)->handle), 1, 0);
        } while ((err == -1) && (errno == EINTR));

        if (err != -1) {
            err = aio_return((struct aiocb *) (*request)->handle);
            (*request)->nbytes = err;
            errno = aio_error((struct aiocb *) (*request)->handle);
        }

Consult man pages for aio_suspend, aio_return, aio_error:

int aio_suspend(const struct aiocb * const cblist[],
		int n, const struct timespec *timeout);
ssize_t aio_return(struct aiocb *aiocbp);
int aio_error(const struct aiocb *aiocbp);

CONFORMING TO
       POSIX 1003.1-2003

Therefore "typedef struct aiocb aiocb_t" is not garanteed by POSIX.

Regards

		Petr






More information about the Glibc-bsd-devel mailing list