summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-12-02 21:21:33 +0100
committerRy Dahl <ry@tinyclouds.org>2019-12-02 12:21:32 -0800
commit136b5e3da2c689b54b34c46fa41973e0ccca66ab (patch)
tree937a5884c783023b36a2d535b31121b3773ec47e /cli
parent2ed3592def992a094d61d40db0569ac2fecb402f (diff)
disable eager polling for ops (#3434)
Diffstat (limited to 'cli')
-rw-r--r--cli/ops/net.rs26
-rw-r--r--cli/ops/tls.rs26
2 files changed, 2 insertions, 50 deletions
diff --git a/cli/ops/net.rs b/cli/ops/net.rs
index 929b87dde..6d843c0ba 100644
--- a/cli/ops/net.rs
+++ b/cli/ops/net.rs
@@ -33,7 +33,6 @@ pub fn init(i: &mut Isolate, s: &ThreadSafeState) {
#[derive(Debug, PartialEq)]
enum AcceptState {
- Eager,
Pending,
Done,
}
@@ -41,7 +40,7 @@ enum AcceptState {
/// Simply accepts a connection.
pub fn accept(state: &ThreadSafeState, rid: ResourceId) -> Accept {
Accept {
- accept_state: AcceptState::Eager,
+ accept_state: AcceptState::Pending,
rid,
state: state.clone(),
}
@@ -78,29 +77,6 @@ impl Future for Accept {
futures::compat::Compat01As03::new(&mut listener_resource.listener)
.map_err(ErrBox::from);
- if inner.accept_state == AcceptState::Eager {
- // Similar to try_ready!, but also track/untrack accept task
- // in TcpListener resource.
- // In this way, when the listener is closed, the task can be
- // notified to error out (instead of stuck forever).
- match listener.poll_next_unpin(cx) {
- Poll::Ready(Some(Ok(stream))) => {
- inner.accept_state = AcceptState::Done;
- let addr = stream.peer_addr().unwrap();
- return Poll::Ready(Ok((stream, addr)));
- }
- Poll::Pending => {
- inner.accept_state = AcceptState::Pending;
- return Poll::Pending;
- }
- Poll::Ready(Some(Err(e))) => {
- inner.accept_state = AcceptState::Done;
- return Poll::Ready(Err(e));
- }
- _ => unreachable!(),
- }
- }
-
match listener.poll_next_unpin(cx) {
Poll::Ready(Some(Ok(stream))) => {
listener_resource.untrack_task();
diff --git a/cli/ops/tls.rs b/cli/ops/tls.rs
index 484b7057c..33900d4e0 100644
--- a/cli/ops/tls.rs
+++ b/cli/ops/tls.rs
@@ -303,7 +303,6 @@ fn op_listen_tls(
#[derive(Debug, PartialEq)]
enum AcceptTlsState {
- Eager,
Pending,
Done,
}
@@ -311,7 +310,7 @@ enum AcceptTlsState {
/// Simply accepts a TLS connection.
pub fn accept_tls(state: &ThreadSafeState, rid: ResourceId) -> AcceptTls {
AcceptTls {
- accept_state: AcceptTlsState::Eager,
+ accept_state: AcceptTlsState::Pending,
rid,
state: state.clone(),
}
@@ -348,29 +347,6 @@ impl Future for AcceptTls {
futures::compat::Compat01As03::new(&mut listener_resource.listener)
.map_err(ErrBox::from);
- if inner.accept_state == AcceptTlsState::Eager {
- // Similar to try_ready!, but also track/untrack accept task
- // in TcpListener resource.
- // In this way, when the listener is closed, the task can be
- // notified to error out (instead of stuck forever).
- match listener.poll_next_unpin(cx) {
- Poll::Ready(Some(Ok(stream))) => {
- inner.accept_state = AcceptTlsState::Done;
- let addr = stream.peer_addr().unwrap();
- return Poll::Ready(Ok((stream, addr)));
- }
- Poll::Pending => {
- inner.accept_state = AcceptTlsState::Pending;
- return Poll::Pending;
- }
- Poll::Ready(Some(Err(e))) => {
- inner.accept_state = AcceptTlsState::Done;
- return Poll::Ready(Err(e));
- }
- _ => unreachable!(),
- }
- }
-
match listener.poll_next_unpin(cx) {
Poll::Ready(Some(Ok(stream))) => {
listener_resource.untrack_task();