changeset 237:efa724294b5f

Use an internal sleep function to avoid needing dwcompat.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 14 Feb 2003 16:25:03 +0000
parents 5592cdeb29cf
children 13d3de3f1e83
files gtk/dw.c
diffstat 1 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/gtk/dw.c	Fri Feb 14 07:57:30 2003 +0000
+++ b/gtk/dw.c	Fri Feb 14 16:25:03 2003 +0000
@@ -95,8 +95,6 @@
 #endif
 
 
-void msleep(long period);
-
 typedef struct
 {
 	void *func;
@@ -139,6 +137,21 @@
 #define DW_LEFT 0.0f
 #define DW_RIGHT 1.0f
 
+void _dw_msleep(long period)
+{
+#ifdef __sun__
+	/* usleep() isn't threadsafe on Solaris */
+	struct timespec req;
+
+	req.tv_sec = 0;
+	req.tv_nsec = period * 10000000;
+
+	nanosleep(&req, NULL);
+#else
+	usleep(period * 1000);
+#endif
+}
+
 /* Finds the translation function for a given signal name */
 void *_findsigfunc(char *signame)
 {
@@ -823,13 +836,13 @@
 			if(gtk_events_pending())
 				gtk_main_iteration();
 			else
-				msleep(1);
+				_dw_msleep(1);
 			gdk_threads_leave();
 			gettimeofday(&tv, NULL);
 		}
 	}
 	else
-		msleep(milliseconds);
+		_dw_msleep(milliseconds);
 }
 
 /*