New issue
Advanced search Search tips

Issue 765720 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 3
Type: Bug



Sign in to add a comment

Use non-blocking connect() on Fuchsia

Project Member Reported by sergeyu@chromium.org, Sep 15 2017

Issue description

Previously connect() was always blocking on Fuchsia, which worked fine with net_unittests.
In current versions of SDK connect() for non-blocking sockets is work-in-progress - it still doesn't handle rejected connections properly. As result some tests fail with newer SDK. To unblock SDK roll I'm going to make connect() always blocking on Fuchsia until connect() works properly with O_NONBLOCK.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e9682d45782119950d60cac47ffa20eabed09f2

commit 7e9682d45782119950d60cac47ffa20eabed09f2
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Mon Sep 18 19:23:35 2017

Always use blocking connect() on Fuchsia.

Async connect() is not fully implemented in netstack on Fuchsia. This
change turns-off O_NONBLOCK when connect() is called. This is necessary
to unblock Fuchsia SDK rolls until async connect() works properly.

Bug:  765720 
Change-Id: Ide92f2b71f009baec3f4a15cfad7a09939b2a073
Reviewed-on: https://chromium-review.googlesource.com/668686
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Eric Roman <eroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502636}
[modify] https://crrev.com/7e9682d45782119950d60cac47ffa20eabed09f2/net/socket/socket_posix.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2dcc2090ea09a382bef131774c1967c3315d5110

commit 2dcc2090ea09a382bef131774c1967c3315d5110
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu Oct 12 03:00:21 2017

Roll Fuchsia SDK to bb7a8c4be8001868468ba0a76389ce4ee111620c

- x2APIC support in the kernel, should improve performance in nested VMs
  on GCE.
- Support for asynchronous connect()

Bug: 707030,  765720 
Change-Id: Id3b20b861ffefd82b9a4cead673e6df38e9957da
Reviewed-on: https://chromium-review.googlesource.com/710003
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508236}
[modify] https://crrev.com/2dcc2090ea09a382bef131774c1967c3315d5110/DEPS

Comment 3 by sergeyu@google.com, Oct 12 2017

Owner: kmarshall@chromium.org
Kevin, can you handle this when you have time?
Just need to revert my previous CL (https://chromium-review.googlesource.com/668686) and verify that net_unittests still pass.
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efac08ea0b742e961ce5e71504229acc9d884420

commit efac08ea0b742e961ce5e71504229acc9d884420
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Thu Oct 12 20:10:03 2017

Allow asynchronous socket connect() on Fuchsia.

Fuchsia now supports the async mode for connect() now, so this CL
rolls back the sync-only workaround landed in commit 7e9682d.


Bug:  765720 
Change-Id: I8bb422e9246a117dc5208123fa48573f8e934618
Reviewed-on: https://chromium-review.googlesource.com/716708
Reviewed-by: Eric Roman <eroman@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508425}
[modify] https://crrev.com/efac08ea0b742e961ce5e71504229acc9d884420/net/socket/socket_posix.cc

Status: Fixed (was: Started)

Sign in to add a comment