Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38ddeaa6 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Avoid inconsistent state when remove fails.

Bug: 5433432
Change-Id: Ia388fda006cbda09b5947fc61cec6353f75a3805
parent 6dee1a9d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1136,12 +1136,14 @@ public class NetworkManagementService extends INetworkManagementService.Stub
            final StringBuilder command = new StringBuilder();
            command.append("bandwidth removeiquota ").append(iface);

            mActiveQuotaIfaces.remove(iface);
            mActiveAlertIfaces.remove(iface);

            try {
                // TODO: support quota shared across interfaces
                mConnector.doCommand(command.toString());
                mActiveQuotaIfaces.remove(iface);
                mActiveAlertIfaces.remove(iface);
            } catch (NativeDaemonConnectorException e) {
                // TODO: include current iptables state
                throw new IllegalStateException("Error communicating to native daemon", e);
            }
        }