-#ifdef __GNUC__
-# ifdef __linux__
-# define VLC_HARD_MIN_SLEEP 1000 /* Linux has 100, 250, 300 or 1000Hz */
-# else
-# define VLC_HARD_MIN_SLEEP 0
-# endif
-#define VLC_SOFT_MIN_SLEEP 29000000
+# define VLC_HARD_MIN_SLEEP 10000 /* 10 milliseconds = 1 tick at 100Hz */
+
+#if defined (__GNUC__) \
+ && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+/* Linux has 100, 250, 300 or 1000Hz
+ *
+ * HZ=100 by default on FreeBSD, but some architectures use a 1000Hz timer
+ */
+# define VLC_SOFT_MIN_SLEEP 9000000 /* 9 seconds */