Lieven Govaerts <l...@apache.org> writes:

> On Ubuntu I can reproduce this issue at the first try, On Mac OS X not at all.
>
> Attached patch to serf fixes the issue for me.
>
> [..]
>
> Lieven
>
> Index: context.c
> ===================================================================
> --- context.c (revision 1701)
> +++ context.c (working copy)
> @@ -289,6 +289,11 @@ apr_status_t serf_context_run(
>  
>      if ((status = apr_pollset_poll(ps->pollset, duration, &num,
>                                     &desc)) != APR_SUCCESS) {
> +        /* EINTR indicates a handled signal happened during the poll call,
> +           ignore, the application can safely retry. */
> +        if (APR_STATUS_IS_EINTR(status))
> +            return APR_SUCCESS;
> +
>          /* ### do we still need to dispatch stuff here?
>             ### look at the potential return codes. map to our defined
>             ### return values? ...

That will because BSD always restarts the call.  I suppose a Linux
application that set SA_RESTART would not see the problem either.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Reply via email to