diff --git a/ChangeLog b/ChangeLog index aefd74667..4dcd87590 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index aefd74667..4dcd87590 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,7 @@ +Tue Dec 12 15:18:10 2000 Owen Taylor + + * gmain.[ch]: Revert unauthorized changes. + 2000-12-12 Elliot Lee * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): diff --git a/glib/gmain.c b/glib/gmain.c index d0165daa1..f9b26dd1c 100644 --- a/glib/gmain.c +++ b/glib/gmain.c @@ -485,9 +485,9 @@ g_poll (GPollFD *fds, #endif /* !HAVE_POLL */ -/* Called to clean up, usually when a thread terminates +/* Called to clean up when a thread terminates */ -void +static void g_main_context_destroy (GMainContext *context) { GSource *source; @@ -527,73 +527,6 @@ g_main_context_destroy (GMainContext *context) g_free (context); } -/** - * g_main_context_new: - * @thread: a #GThread (may be NULL) - * - * This will create a main-loop context. The context will need to be destroyed - * via g_main_context_destroy. - * - * Return value: a new main loop context. - **/ -GMainContext * -g_main_context_new(GThread *thread) -{ - GMainContext *context; - - context = g_new0 (GMainContext, 1); - -#ifdef G_THREADS_ENABLED - if (g_thread_supported ()) - context->mutex = g_mutex_new(); - - context->thread = thread; -#endif - - context->next_id = 1; - - context->source_list = NULL; - -#if HAVE_POLL - context->poll_func = (GPollFunc)poll; -#else - context->poll_func = g_poll; -#endif - - context->cached_poll_array = NULL; - context->cached_poll_array_size = 0; - - context->pending_dispatches = g_ptr_array_new (); - - context->time_is_current = FALSE; - -#ifdef G_THREADS_ENABLED - if (g_thread_supported ()) - { -#ifndef G_OS_WIN32 - if (pipe (context->wake_up_pipe) < 0) - g_error ("Cannot create pipe main loop wake-up: %s\n", - g_strerror (errno)); - - context->wake_up_rec.fd = context->wake_up_pipe[0]; - context->wake_up_rec.events = G_IO_IN; - g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); -#else - if ((context->wake_up_semaphore = CreateSemaphore (NULL, 0, 100, NULL)) == NULL) - g_error ("Cannot create wake-up semaphore: %s", g_win32_error_message (GetLastError ())); - context->wake_up_rec.fd = (gint) context->wake_up_semaphore; - context->wake_up_rec.events = G_IO_IN; -#ifdef G_MAIN_POLL_DEBUG - g_print ("wake-up semaphore: %#x\n", (guint) context->wake_up_semaphore); -#endif - g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); -#endif - } -#endif - - return context; -} - /** * g_main_context_get: * @thread: a #GThread @@ -619,7 +552,55 @@ g_main_context_get (GThread *thread) if (!context) { - context = g_main_context_new (thread); + context = g_new0 (GMainContext, 1); + +#ifdef G_THREADS_ENABLED + if (g_thread_supported ()) + context->mutex = g_mutex_new(); + + context->thread = thread; +#endif + + context->next_id = 1; + + context->source_list = NULL; + +#if HAVE_POLL + context->poll_func = (GPollFunc)poll; +#else + context->poll_func = g_poll; +#endif + + context->cached_poll_array = NULL; + context->cached_poll_array_size = 0; + + context->pending_dispatches = g_ptr_array_new (); + + context->time_is_current = FALSE; + +#ifdef G_THREADS_ENABLED + if (g_thread_supported ()) + { +#ifndef G_OS_WIN32 + if (pipe (context->wake_up_pipe) < 0) + g_error ("Cannot create pipe main loop wake-up: %s\n", + g_strerror (errno)); + + context->wake_up_rec.fd = context->wake_up_pipe[0]; + context->wake_up_rec.events = G_IO_IN; + g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); +#else + if ((context->wake_up_semaphore = CreateSemaphore (NULL, 0, 100, NULL)) == NULL) + g_error ("Cannot create wake-up semaphore: %s", g_win32_error_message (GetLastError ())); + context->wake_up_rec.fd = (gint) context->wake_up_semaphore; + context->wake_up_rec.events = G_IO_IN; +#ifdef G_MAIN_POLL_DEBUG + g_print ("wake-up semaphore: %#x\n", (guint) context->wake_up_semaphore); +#endif + g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); +#endif + } +#endif if (g_thread_supported ()) g_static_private_set_for_thread (&private_key, thread, diff --git a/glib/gmain.h b/glib/gmain.h index 23dd58c5c..dd500c6e8 100644 --- a/glib/gmain.h +++ b/glib/gmain.h @@ -143,9 +143,6 @@ GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *conte /* Low level functions for implementing custom main loops. */ -GMainContext *g_main_context_new (GThread *thread); -void g_main_context_destroy (GMainContext *context); - gboolean g_main_context_prepare (GMainContext *context, gint *priority); gint g_main_context_query (GMainContext *context, diff --git a/gmain.c b/gmain.c index d0165daa1..f9b26dd1c 100644 --- a/gmain.c +++ b/gmain.c @@ -485,9 +485,9 @@ g_poll (GPollFD *fds, #endif /* !HAVE_POLL */ -/* Called to clean up, usually when a thread terminates +/* Called to clean up when a thread terminates */ -void +static void g_main_context_destroy (GMainContext *context) { GSource *source; @@ -527,73 +527,6 @@ g_main_context_destroy (GMainContext *context) g_free (context); } -/** - * g_main_context_new: - * @thread: a #GThread (may be NULL) - * - * This will create a main-loop context. The context will need to be destroyed - * via g_main_context_destroy. - * - * Return value: a new main loop context. - **/ -GMainContext * -g_main_context_new(GThread *thread) -{ - GMainContext *context; - - context = g_new0 (GMainContext, 1); - -#ifdef G_THREADS_ENABLED - if (g_thread_supported ()) - context->mutex = g_mutex_new(); - - context->thread = thread; -#endif - - context->next_id = 1; - - context->source_list = NULL; - -#if HAVE_POLL - context->poll_func = (GPollFunc)poll; -#else - context->poll_func = g_poll; -#endif - - context->cached_poll_array = NULL; - context->cached_poll_array_size = 0; - - context->pending_dispatches = g_ptr_array_new (); - - context->time_is_current = FALSE; - -#ifdef G_THREADS_ENABLED - if (g_thread_supported ()) - { -#ifndef G_OS_WIN32 - if (pipe (context->wake_up_pipe) < 0) - g_error ("Cannot create pipe main loop wake-up: %s\n", - g_strerror (errno)); - - context->wake_up_rec.fd = context->wake_up_pipe[0]; - context->wake_up_rec.events = G_IO_IN; - g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); -#else - if ((context->wake_up_semaphore = CreateSemaphore (NULL, 0, 100, NULL)) == NULL) - g_error ("Cannot create wake-up semaphore: %s", g_win32_error_message (GetLastError ())); - context->wake_up_rec.fd = (gint) context->wake_up_semaphore; - context->wake_up_rec.events = G_IO_IN; -#ifdef G_MAIN_POLL_DEBUG - g_print ("wake-up semaphore: %#x\n", (guint) context->wake_up_semaphore); -#endif - g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); -#endif - } -#endif - - return context; -} - /** * g_main_context_get: * @thread: a #GThread @@ -619,7 +552,55 @@ g_main_context_get (GThread *thread) if (!context) { - context = g_main_context_new (thread); + context = g_new0 (GMainContext, 1); + +#ifdef G_THREADS_ENABLED + if (g_thread_supported ()) + context->mutex = g_mutex_new(); + + context->thread = thread; +#endif + + context->next_id = 1; + + context->source_list = NULL; + +#if HAVE_POLL + context->poll_func = (GPollFunc)poll; +#else + context->poll_func = g_poll; +#endif + + context->cached_poll_array = NULL; + context->cached_poll_array_size = 0; + + context->pending_dispatches = g_ptr_array_new (); + + context->time_is_current = FALSE; + +#ifdef G_THREADS_ENABLED + if (g_thread_supported ()) + { +#ifndef G_OS_WIN32 + if (pipe (context->wake_up_pipe) < 0) + g_error ("Cannot create pipe main loop wake-up: %s\n", + g_strerror (errno)); + + context->wake_up_rec.fd = context->wake_up_pipe[0]; + context->wake_up_rec.events = G_IO_IN; + g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); +#else + if ((context->wake_up_semaphore = CreateSemaphore (NULL, 0, 100, NULL)) == NULL) + g_error ("Cannot create wake-up semaphore: %s", g_win32_error_message (GetLastError ())); + context->wake_up_rec.fd = (gint) context->wake_up_semaphore; + context->wake_up_rec.events = G_IO_IN; +#ifdef G_MAIN_POLL_DEBUG + g_print ("wake-up semaphore: %#x\n", (guint) context->wake_up_semaphore); +#endif + g_main_context_add_poll_unlocked (context, 0, &context->wake_up_rec); +#endif + } +#endif if (g_thread_supported ()) g_static_private_set_for_thread (&private_key, thread, diff --git a/gmain.h b/gmain.h index 23dd58c5c..dd500c6e8 100644 --- a/gmain.h +++ b/gmain.h @@ -143,9 +143,6 @@ GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *conte /* Low level functions for implementing custom main loops. */ -GMainContext *g_main_context_new (GThread *thread); -void g_main_context_destroy (GMainContext *context); - gboolean g_main_context_prepare (GMainContext *context, gint *priority); gint g_main_context_query (GMainContext *context,