The code looks good for me.
Regis,
Could you please check that the patch eliminates the problem on Linux?
Thanks!
On Thu, Apr 2, 2009 at 1:52 PM, Tim Ellison <t.p.ellison@gmail.com> wrote:
> With this patch applied all the tests pass for me on Windows and Linux.
>
> I have not figured out why we have this function that doesn't go through
> the port library, and therefore doesn't deal with the invalid file
> handles and interrupts etc. properly.
>
> Since this is the minimal patch to fix M9, I propose we go with this,
> and then continue the networking code tidy up in the next phase.
>
> I'm looking for people to test this patch and a committer to approve it
> being applied to the code base now.
>
> Thanks,
> Tim
>
>
> Index: modules/luni/src/main/native/luni/unix/OSNetworkSystemLinux.c
> ===================================================================
> --- modules/luni/src/main/native/luni/unix/OSNetworkSystemLinux.c
> (revision 761194)
> +++ modules/luni/src/main/native/luni/unix/OSNetworkSystemLinux.c
> (working copy)
> @@ -71,7 +71,10 @@
> my_pollfd.fd = hysocketP->sock;
> my_pollfd.events = POLLIN | POLLPRI;
> my_pollfd.revents = 0;
> - result = poll (&my_pollfd, 1, timeout);
> +
> + do {
> + result = poll (&my_pollfd, 1, timeout);
> + } while (result == -1 && errno == EINTR);
>
> if (result == 0)
> return HYPORT_ERROR_SOCKET_TIMEOUT;
>
--
With best regards / с наилучшими пожеланиями,
Alexei Fedotov / Алексей Федотов,
http://www.telecom-express.ru/
http://people.apache.org/~aaf/
|