Mercurial > dwindows
comparison gtk/dw.c @ 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 | f2435b378aed |
children | 403b07f873e1 |
comparison
equal
deleted
inserted
replaced
236:5592cdeb29cf | 237:efa724294b5f |
---|---|
93 #else | 93 #else |
94 gint _tree_select_event(GtkTree *tree, GtkWidget *child, gpointer data); | 94 gint _tree_select_event(GtkTree *tree, GtkWidget *child, gpointer data); |
95 #endif | 95 #endif |
96 | 96 |
97 | 97 |
98 void msleep(long period); | |
99 | |
100 typedef struct | 98 typedef struct |
101 { | 99 { |
102 void *func; | 100 void *func; |
103 char name[30]; | 101 char name[30]; |
104 | 102 |
137 /* Alignment flags */ | 135 /* Alignment flags */ |
138 #define DW_CENTER 0.5f | 136 #define DW_CENTER 0.5f |
139 #define DW_LEFT 0.0f | 137 #define DW_LEFT 0.0f |
140 #define DW_RIGHT 1.0f | 138 #define DW_RIGHT 1.0f |
141 | 139 |
140 void _dw_msleep(long period) | |
141 { | |
142 #ifdef __sun__ | |
143 /* usleep() isn't threadsafe on Solaris */ | |
144 struct timespec req; | |
145 | |
146 req.tv_sec = 0; | |
147 req.tv_nsec = period * 10000000; | |
148 | |
149 nanosleep(&req, NULL); | |
150 #else | |
151 usleep(period * 1000); | |
152 #endif | |
153 } | |
154 | |
142 /* Finds the translation function for a given signal name */ | 155 /* Finds the translation function for a given signal name */ |
143 void *_findsigfunc(char *signame) | 156 void *_findsigfunc(char *signame) |
144 { | 157 { |
145 int z; | 158 int z; |
146 | 159 |
821 { | 834 { |
822 gdk_threads_enter(); | 835 gdk_threads_enter(); |
823 if(gtk_events_pending()) | 836 if(gtk_events_pending()) |
824 gtk_main_iteration(); | 837 gtk_main_iteration(); |
825 else | 838 else |
826 msleep(1); | 839 _dw_msleep(1); |
827 gdk_threads_leave(); | 840 gdk_threads_leave(); |
828 gettimeofday(&tv, NULL); | 841 gettimeofday(&tv, NULL); |
829 } | 842 } |
830 } | 843 } |
831 else | 844 else |
832 msleep(milliseconds); | 845 _dw_msleep(milliseconds); |
833 } | 846 } |
834 | 847 |
835 /* | 848 /* |
836 * Processes a single message iteration and returns. | 849 * Processes a single message iteration and returns. |
837 */ | 850 */ |