Use RunAnywhere.isLinux() to determine if we should skip draining.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2538 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Ray Greenwell
2003-05-03 00:13:04 +00:00
parent 7457e46374
commit 9643db4632
@@ -1,5 +1,5 @@
//
// $Id: SoundManager.java,v 1.60 2003/04/08 20:30:44 ray Exp $
// $Id: SoundManager.java,v 1.61 2003/05/03 00:13:04 ray Exp $
package com.threerings.media.sound;
@@ -42,6 +42,7 @@ import com.samskivert.util.Config;
import com.samskivert.util.LRUHashMap;
import com.samskivert.util.Queue;
import com.samskivert.util.RuntimeAdjust;
import com.samskivert.util.RunAnywhere;
import com.samskivert.util.StringUtil;
import com.threerings.resource.ResourceManager;
@@ -1039,7 +1040,7 @@ public class SoundManager
// There is a major bug with using drain() under linux. It often
// causes the thread to just loop forever inside the native
// implementation of drain(), and we're screwed.
if (_shouldDrain) {
if (!RunAnywhere.isLinux()) {
_line.drain();
} else {
@@ -1074,9 +1075,6 @@ public class SoundManager
/** The list of all the currently instantiated spoolers. */
protected static ArrayList _openSpoolers = new ArrayList();
/** Should we attempt to use line.drain()? */
protected static boolean _shouldDrain = true;
/** The maximum time a spooler will wait for a stream before
* deciding to shut down. */
protected static final long MAX_WAIT_TIME = 30000L;
@@ -1086,15 +1084,6 @@ public class SoundManager
/** The time we sleep if it's not safe to drain. */
protected static final long NO_DRAIN_SLEEP_TIME = 3000L;
// see if we should use drain.
static {
String os = System.getProperty("os.name");
if (os == null || (os.indexOf("Linux") != -1)) {
_shouldDrain = false;
Log.info("Detected Linux, will not use drain() on lines.");
}
}
}
/**