s/current_time/dispatch_time/ for the dispatch() handlers. refetch the

Wed Jan 26 05:29:11 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.
This commit is contained in:
Tim Janik 2000-01-26 04:31:25 +00:00 committed by Tim Janik
parent 5581fb1f27
commit 2d28bd300f
12 changed files with 84 additions and 22 deletions

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

View File

@ -1,3 +1,10 @@
Wed Jan 26 05:29:11 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.
Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
* gstrfuncs.c (g_strtod): correctly fetch the current locale,

4
glib.h
View File

@ -2419,7 +2419,7 @@ struct _GSourceFuncs
GTimeVal *current_time,
gpointer user_data);
gboolean (*dispatch) (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data);
GDestroyNotify destroy;
};
@ -2447,7 +2447,7 @@ gboolean g_source_remove_by_source_data (gpointer source_data);
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);

View File

@ -2419,7 +2419,7 @@ struct _GSourceFuncs
GTimeVal *current_time,
gpointer user_data);
gboolean (*dispatch) (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data);
GDestroyNotify destroy;
};
@ -2447,7 +2447,7 @@ gboolean g_source_remove_by_source_data (gpointer source_data);
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);

View File

@ -123,7 +123,7 @@ static gboolean g_timeout_check (gpointer 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,
@ -133,7 +133,7 @@ static gboolean g_idle_check (gpointer source_data,
GTimeVal *current_time,
gpointer user_data);
static gboolean g_idle_dispatch (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data);
/* Data */
@ -626,7 +626,7 @@ g_get_current_time (GTimeVal *result)
/* HOLDS: main_loop_lock */
static void
g_main_dispatch (GTimeVal *current_time)
g_main_dispatch (GTimeVal *dispatch_time)
{
while (pending_dispatches != NULL)
{
@ -654,7 +654,7 @@ g_main_dispatch (GTimeVal *current_time)
G_UNLOCK (main_loop);
need_destroy = ! dispatch (source_data,
current_time,
dispatch_time,
hook_data);
G_LOCK (main_loop);
@ -704,7 +704,7 @@ g_main_iterate (gboolean block,
gboolean dispatch)
{
GHook *hook;
GTimeVal current_time ={ 0, 0 };
GTimeVal current_time = { 0, 0 };
gint n_ready = 0;
gint current_priority = 0;
gint timeout;
@ -807,6 +807,9 @@ g_main_iterate (gboolean block,
g_main_poll (timeout, n_ready > 0, current_priority);
if (timeout != 0)
g_get_current_time (&current_time);
/* Check to see what sources need to be dispatched */
n_ready = 0;
@ -1261,7 +1264,7 @@ g_timeout_check (gpointer source_data,
static gboolean
g_timeout_dispatch (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data)
{
GTimeoutData *data = source_data;
@ -1271,8 +1274,8 @@ g_timeout_dispatch (gpointer 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;
@ -1344,7 +1347,7 @@ g_idle_check (gpointer source_data,
static gboolean
g_idle_dispatch (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data)
{
GSourceFunc func = source_data;

21
gmain.c
View File

@ -123,7 +123,7 @@ static gboolean g_timeout_check (gpointer 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,
@ -133,7 +133,7 @@ static gboolean g_idle_check (gpointer source_data,
GTimeVal *current_time,
gpointer user_data);
static gboolean g_idle_dispatch (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data);
/* Data */
@ -626,7 +626,7 @@ g_get_current_time (GTimeVal *result)
/* HOLDS: main_loop_lock */
static void
g_main_dispatch (GTimeVal *current_time)
g_main_dispatch (GTimeVal *dispatch_time)
{
while (pending_dispatches != NULL)
{
@ -654,7 +654,7 @@ g_main_dispatch (GTimeVal *current_time)
G_UNLOCK (main_loop);
need_destroy = ! dispatch (source_data,
current_time,
dispatch_time,
hook_data);
G_LOCK (main_loop);
@ -704,7 +704,7 @@ g_main_iterate (gboolean block,
gboolean dispatch)
{
GHook *hook;
GTimeVal current_time ={ 0, 0 };
GTimeVal current_time = { 0, 0 };
gint n_ready = 0;
gint current_priority = 0;
gint timeout;
@ -807,6 +807,9 @@ g_main_iterate (gboolean block,
g_main_poll (timeout, n_ready > 0, current_priority);
if (timeout != 0)
g_get_current_time (&current_time);
/* Check to see what sources need to be dispatched */
n_ready = 0;
@ -1261,7 +1264,7 @@ g_timeout_check (gpointer source_data,
static gboolean
g_timeout_dispatch (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data)
{
GTimeoutData *data = source_data;
@ -1271,8 +1274,8 @@ g_timeout_dispatch (gpointer 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;
@ -1344,7 +1347,7 @@ g_idle_check (gpointer source_data,
static gboolean
g_idle_dispatch (gpointer source_data,
GTimeVal *current_time,
GTimeVal *dispatch_time,
gpointer user_data)
{
GSourceFunc func = source_data;