+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
+
+ * glib.h:
+ * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+ refetch the current time after invocation of poll() to cover up for
+ the time spent in that function call.
+
Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
* as such; using this with a dynamically allocated array will give
* incorrect results.
*/
-#define G_N_ELEMENTS(arr) (sizeof(arr) / sizeof((arr)[0]))
+#define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0]))
/* Define G_VA_COPY() to do the right thing for copying va_list variables.
* glibconfig.h may have already defined G_VA_COPY as va_copy or __va_copy.
GTimeVal *current_time,
gpointer user_data);
gboolean (*dispatch) (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data);
GDestroyNotify destroy;
};
gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
gpointer user_data);
-void g_get_current_time (GTimeVal *result);
+void g_get_current_time (GTimeVal *result);
/* Running the main loop */
GMainLoop* g_main_new (gboolean is_running);
* as such; using this with a dynamically allocated array will give
* incorrect results.
*/
-#define G_N_ELEMENTS(arr) (sizeof(arr) / sizeof((arr)[0]))
+#define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0]))
/* Define G_VA_COPY() to do the right thing for copying va_list variables.
* glibconfig.h may have already defined G_VA_COPY as va_copy or __va_copy.
GTimeVal *current_time,
gpointer user_data);
gboolean (*dispatch) (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data);
GDestroyNotify destroy;
};
gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
gpointer user_data);
-void g_get_current_time (GTimeVal *result);
+void g_get_current_time (GTimeVal *result);
/* Running the main loop */
GMainLoop* g_main_new (gboolean is_running);
GTimeVal *current_time,
gpointer user_data);
static gboolean g_timeout_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data);
static gboolean g_idle_prepare (gpointer source_data,
GTimeVal *current_time,
GTimeVal *current_time,
gpointer user_data);
static gboolean g_idle_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data);
/* Data */
/* HOLDS: main_loop_lock */
static void
-g_main_dispatch (GTimeVal *current_time)
+g_main_dispatch (GTimeVal *dispatch_time)
{
while (pending_dispatches != NULL)
{
G_UNLOCK (main_loop);
need_destroy = ! dispatch (source_data,
- current_time,
+ dispatch_time,
hook_data);
G_LOCK (main_loop);
gboolean dispatch)
{
GHook *hook;
- GTimeVal current_time ={ 0, 0 };
+ GTimeVal current_time = { 0, 0 };
gint n_ready = 0;
gint current_priority = 0;
gint timeout;
g_main_poll (timeout, n_ready > 0, current_priority);
+ if (timeout != 0)
+ g_get_current_time (¤t_time);
+
/* Check to see what sources need to be dispatched */
n_ready = 0;
static gboolean
g_timeout_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data)
{
GTimeoutData *data = source_data;
guint seconds = data->interval / 1000;
guint msecs = data->interval - seconds * 1000;
- data->expiration.tv_sec = current_time->tv_sec + seconds;
- data->expiration.tv_usec = current_time->tv_usec + msecs * 1000;
+ data->expiration.tv_sec = dispatch_time->tv_sec + seconds;
+ data->expiration.tv_usec = dispatch_time->tv_usec + msecs * 1000;
if (data->expiration.tv_usec >= 1000000)
{
data->expiration.tv_usec -= 1000000;
static gboolean
g_idle_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data)
{
GSourceFunc func = source_data;
GTimeVal *current_time,
gpointer user_data);
static gboolean g_timeout_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data);
static gboolean g_idle_prepare (gpointer source_data,
GTimeVal *current_time,
GTimeVal *current_time,
gpointer user_data);
static gboolean g_idle_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data);
/* Data */
/* HOLDS: main_loop_lock */
static void
-g_main_dispatch (GTimeVal *current_time)
+g_main_dispatch (GTimeVal *dispatch_time)
{
while (pending_dispatches != NULL)
{
G_UNLOCK (main_loop);
need_destroy = ! dispatch (source_data,
- current_time,
+ dispatch_time,
hook_data);
G_LOCK (main_loop);
gboolean dispatch)
{
GHook *hook;
- GTimeVal current_time ={ 0, 0 };
+ GTimeVal current_time = { 0, 0 };
gint n_ready = 0;
gint current_priority = 0;
gint timeout;
g_main_poll (timeout, n_ready > 0, current_priority);
+ if (timeout != 0)
+ g_get_current_time (¤t_time);
+
/* Check to see what sources need to be dispatched */
n_ready = 0;
static gboolean
g_timeout_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data)
{
GTimeoutData *data = source_data;
guint seconds = data->interval / 1000;
guint msecs = data->interval - seconds * 1000;
- data->expiration.tv_sec = current_time->tv_sec + seconds;
- data->expiration.tv_usec = current_time->tv_usec + msecs * 1000;
+ data->expiration.tv_sec = dispatch_time->tv_sec + seconds;
+ data->expiration.tv_usec = dispatch_time->tv_usec + msecs * 1000;
if (data->expiration.tv_usec >= 1000000)
{
data->expiration.tv_usec -= 1000000;
static gboolean
g_idle_dispatch (gpointer source_data,
- GTimeVal *current_time,
+ GTimeVal *dispatch_time,
gpointer user_data)
{
GSourceFunc func = source_data;