Hi Arnaldo,

On Fri, 22 Aug 2014 17:59:50 -0300, Arnaldo Carvalho de Melo wrote:
> +int fdarray__add(struct fdarray *fda, int fd)
> +{
> +     /*
> +      * XXX: 64 is arbitrary, just not to call realloc at each fd.
> +      *      Find a better autogrowing heuristic
> +      */
> +     if (fda->nr == fda->nr_alloc &&
> +         fdarray__grow(fda, 64) < 0)
> +             return -ENOMEM;
> +
> +     fcntl(fd, F_SETFL, O_NONBLOCK);
> +     fda->entries[fda->nr].fd = fd;
> +     fda->entries[fda->nr].events = POLLIN | POLLERR | POLLHUP;
> +     fda->nr++;
> +     return 0;
> +}

To be more generic api, I think it'd be better receiving events from
user rather than hard-coding.  Also it might be useful to let user
sets a grow hint (during init?) as well.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to