mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
45 lines
1.2 KiB
Java
45 lines
1.2 KiB
Java
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package org.mozilla.gecko.sync.net;
|
|
|
|
import org.mozilla.gecko.sync.Logger;
|
|
|
|
/**
|
|
* Every <code>REAP_INTERVAL</code> milliseconds, wake up
|
|
* and expire any connections that need cleaning up.
|
|
*
|
|
* When we're told to shut down, take the connection manager
|
|
* with us.
|
|
*/
|
|
public class ConnectionMonitorThread extends Thread {
|
|
private static final long REAP_INTERVAL = 5000; // 5 seconds.
|
|
private static final String LOG_TAG = "ConnectionMonitorThread";
|
|
|
|
private volatile boolean stopping;
|
|
|
|
@Override
|
|
public void run() {
|
|
try {
|
|
while (!stopping) {
|
|
synchronized (this) {
|
|
wait(REAP_INTERVAL);
|
|
BaseResource.closeExpiredConnections();
|
|
}
|
|
}
|
|
} catch (InterruptedException e) {
|
|
Logger.trace(LOG_TAG, "Interrupted.");
|
|
}
|
|
BaseResource.shutdownConnectionManager();
|
|
}
|
|
|
|
public void shutdown() {
|
|
Logger.debug(LOG_TAG, "ConnectionMonitorThread told to shut down.");
|
|
stopping = true;
|
|
synchronized (this) {
|
|
notifyAll();
|
|
}
|
|
}
|
|
}
|