From 1eb6e9d0d070f929b4cafa85adb9f4ab58007184 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Sun, 21 Jan 2007 11:52:39 +0000 Subject: [PATCH] 2007-01-21 [colin] 2.7.1cvs44 * src/common/utils.c * src/common/utils.h * src/etpan/etpan-thread-manager.c * src/etpan/etpan-thread-manager.h Same (Funny that etpan_thread_unbind is called but not etpan_thread_bind) --- ChangeLog | 9 +++++ PATCHSETS | 1 + configure.ac | 2 +- src/common/utils.c | 4 +- src/common/utils.h | 2 - src/etpan/etpan-thread-manager.c | 65 ++++++++++++++++++++++---------- src/etpan/etpan-thread-manager.h | 15 -------- 7 files changed, 59 insertions(+), 39 deletions(-) diff --git a/ChangeLog b/ChangeLog index 393188169..67bec7432 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-01-21 [colin] 2.7.1cvs44 + + * src/common/utils.c + * src/common/utils.h + * src/etpan/etpan-thread-manager.c + * src/etpan/etpan-thread-manager.h + Same (Funny that etpan_thread_unbind + is called but not etpan_thread_bind) + 2007-01-21 [colin] 2.7.1cvs43 * src/addrselect.c diff --git a/PATCHSETS b/PATCHSETS index 5fb8497cf..b9605bf20 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2301,3 +2301,4 @@ ( cvs diff -u -r 1.61.2.57 -r 1.61.2.58 src/account.c; cvs diff -u -r 1.11.2.7 -r 1.11.2.8 src/account.h; cvs diff -u -r 1.22.2.13 -r 1.22.2.14 src/addrbook.c; cvs diff -u -r 1.7.2.2 -r 1.7.2.3 src/addrbook.h; cvs diff -u -r 1.15.2.10 -r 1.15.2.11 src/addrcache.c; cvs diff -u -r 1.9.2.5 -r 1.9.2.6 src/addrcache.h; cvs diff -u -r 1.5.2.4 -r 1.5.2.5 src/addrclip.c; cvs diff -u -r 1.1.14.4 -r 1.1.14.5 src/addrclip.h; cvs diff -u -r 1.60.2.78 -r 1.60.2.79 src/addressbook.c; cvs diff -u -r 1.18.2.7 -r 1.18.2.8 src/addressbook.h; cvs diff -u -r 1.6.10.14 -r 1.6.10.15 src/addrharvest.c; cvs diff -u -r 1.4.12.4 -r 1.4.12.5 src/addrharvest.h; cvs diff -u -r 1.28.2.22 -r 1.28.2.23 src/addrindex.c; cvs diff -u -r 1.9.2.10 -r 1.9.2.11 src/addrindex.h; cvs diff -u -r 1.14.2.21 -r 1.14.2.22 src/editaddress.c; cvs diff -u -r 1.3.2.5 -r 1.3.2.6 src/editaddress.h; ) > 2.7.1cvs41.patchset ( cvs diff -u -r 1.13.2.8 -r 1.13.2.9 src/addritem.c; cvs diff -u -r 1.12.2.6 -r 1.12.2.7 src/addritem.h; ) > 2.7.1cvs42.patchset ( cvs diff -u -r 1.3.2.6 -r 1.3.2.7 src/addrselect.c; cvs diff -u -r 1.1.14.5 -r 1.1.14.6 src/addrselect.h; cvs diff -u -r 1.65.2.53 -r 1.65.2.54 src/codeconv.c; cvs diff -u -r 1.15.2.17 -r 1.15.2.18 src/codeconv.h; cvs diff -u -r 1.382.2.354 -r 1.382.2.355 src/compose.c; cvs diff -u -r 1.50.2.30 -r 1.50.2.31 src/compose.h; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/etpan/Makefile.am; cvs diff -u -r -1.1.4.5 -r -1.1.4.6 src/etpan/etpan-log.c; cvs diff -u -r -1.1.4.3 -r -1.1.4.4 src/etpan/etpan-log.h; cvs diff -u -r 1.2.2.15 -r 1.2.2.16 src/gtk/colorlabel.c; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/gtk/colorlabel.h; cvs diff -u -r 1.9.2.14 -r 1.9.2.15 src/gtk/sslcertwindow.c; cvs diff -u -r 1.6.2.5 -r 1.6.2.6 src/gtk/sslcertwindow.h; ) > 2.7.1cvs43.patchset +( cvs diff -u -r 1.36.2.96 -r 1.36.2.97 src/common/utils.c; cvs diff -u -r 1.20.2.43 -r 1.20.2.44 src/common/utils.h; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/etpan/etpan-thread-manager.c; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/etpan/etpan-thread-manager.h; ) > 2.7.1cvs44.patchset diff --git a/configure.ac b/configure.ac index 22c7926d8..8f3a10928 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=7 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=43 +EXTRA_VERSION=44 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/common/utils.c b/src/common/utils.c index 6b8543862..c1d1d84c1 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -3294,7 +3294,7 @@ gchar *file_read_stream_to_str(FILE *fp) return str; } -gint execute_async(gchar *const argv[]) +static gint execute_async(gchar *const argv[]) { g_return_val_if_fail(argv != NULL && argv[0] != NULL, -1); @@ -3307,7 +3307,7 @@ gint execute_async(gchar *const argv[]) return 0; } -gint execute_sync(gchar *const argv[]) +static gint execute_sync(gchar *const argv[]) { gint status; diff --git a/src/common/utils.h b/src/common/utils.h index c8545b567..2546e2523 100644 --- a/src/common/utils.h +++ b/src/common/utils.h @@ -455,8 +455,6 @@ gchar *file_read_to_str (const gchar *file); gchar *file_read_stream_to_str (FILE *fp); /* process execution */ -gint execute_async (gchar *const argv[]); -gint execute_sync (gchar *const argv[]); gint execute_command_line (const gchar *cmdline, gboolean async); gchar *get_command_output (const gchar *cmdline); diff --git a/src/etpan/etpan-thread-manager.c b/src/etpan/etpan-thread-manager.c index f10e9a68d..96ac5d9d7 100644 --- a/src/etpan/etpan-thread-manager.c +++ b/src/etpan/etpan-thread-manager.c @@ -25,13 +25,13 @@ #include "etpan-thread-manager.h" +#include #include #include #include #include #include -#include "etpan-log.h" #include "etpan-errors.h" #define POOL_UNBOUND_MAX 4 @@ -39,6 +39,25 @@ #define POOL_INIT_SIZE 8 #define OP_INIT_SIZE 8 +static void etpan_thread_free(struct etpan_thread * thread); +static unsigned int etpan_thread_get_load(struct etpan_thread * thread); +static int etpan_thread_is_bound(struct etpan_thread * thread); +static int etpan_thread_manager_is_stopped(struct etpan_thread_manager * manager); +static void etpan_thread_join(struct etpan_thread * thread); +static struct etpan_thread * etpan_thread_new(void); +static int etpan_thread_op_cancelled(struct etpan_thread_op * op); +static void etpan_thread_op_lock(struct etpan_thread_op * op); +static void etpan_thread_op_unlock(struct etpan_thread_op * op); +static void etpan_thread_stop(struct etpan_thread * thread); + +#if 0 +static void etpan_thread_bind(struct etpan_thread * thread); +static int etpan_thread_manager_op_schedule(struct etpan_thread_manager * manager, + struct etpan_thread_op * op); +static void etpan_thread_manager_start(struct etpan_thread_manager * manager); +static void etpan_thread_op_cancel(struct etpan_thread_op * op); +#endif + enum { TERMINATE_STATE_NONE, TERMINATE_STATE_REQUESTED, @@ -90,7 +109,7 @@ void etpan_thread_manager_free(struct etpan_thread_manager * manager) free(manager); } -struct etpan_thread * etpan_thread_new(void) +static struct etpan_thread * etpan_thread_new(void) { struct etpan_thread * thread; int r; @@ -145,7 +164,7 @@ struct etpan_thread * etpan_thread_new(void) return NULL; } -void etpan_thread_free(struct etpan_thread * thread) +static void etpan_thread_free(struct etpan_thread * thread) { mailsem_free(thread->op_sem); mailsem_free(thread->stop_sem); @@ -242,7 +261,7 @@ etpan_thread_manager_terminate_thread(struct etpan_thread_manager * manager, r = carray_add(manager->thread_pending, thread, NULL); if (r < 0) { - ETPAN_LOG("complete failure of thread due to lack of memory (thread stop)"); + g_warning("complete failure of thread due to lack of memory (thread stop)"); } etpan_thread_stop(thread); @@ -319,7 +338,7 @@ static void * thread_run(void * data) thread_lock(thread); r = carray_add(thread->op_done_list, op, NULL); if (r < 0) { - ETPAN_LOG("complete failure of thread due to lack of memory (op done)"); + g_warning("complete failure of thread due to lack of memory (op done)"); } thread_unlock(thread); @@ -350,7 +369,7 @@ int etpan_thread_start(struct etpan_thread * thread) return NO_ERROR; } -void etpan_thread_stop(struct etpan_thread * thread) +static void etpan_thread_stop(struct etpan_thread * thread) { thread_lock(thread); thread->terminate_state = TERMINATE_STATE_REQUESTED; @@ -372,7 +391,7 @@ int etpan_thread_is_stopped(struct etpan_thread * thread) return stopped; } -void etpan_thread_join(struct etpan_thread * thread) +static void etpan_thread_join(struct etpan_thread * thread) { mailsem_down(thread->stop_sem); pthread_join(thread->th_id, NULL); @@ -440,7 +459,7 @@ etpan_thread_manager_get_thread(struct etpan_thread_manager * manager) return NULL; } -unsigned int etpan_thread_get_load(struct etpan_thread * thread) +static unsigned int etpan_thread_get_load(struct etpan_thread * thread) { unsigned int load; @@ -451,17 +470,19 @@ unsigned int etpan_thread_get_load(struct etpan_thread * thread) return load; } -void etpan_thread_bind(struct etpan_thread * thread) +#if 0 +static void etpan_thread_bind(struct etpan_thread * thread) { thread->bound_count ++; } +#endif void etpan_thread_unbind(struct etpan_thread * thread) { thread->bound_count --; } -int etpan_thread_is_bound(struct etpan_thread * thread) +static int etpan_thread_is_bound(struct etpan_thread * thread) { return (thread->bound_count != 0); } @@ -487,17 +508,17 @@ int etpan_thread_op_schedule(struct etpan_thread * thread, return NO_ERROR; } -void etpan_thread_op_lock(struct etpan_thread_op * op) +static void etpan_thread_op_lock(struct etpan_thread_op * op) { pthread_mutex_lock(&op->lock); } -void etpan_thread_op_unlock(struct etpan_thread_op * op) +static void etpan_thread_op_unlock(struct etpan_thread_op * op) { pthread_mutex_unlock(&op->lock); } -int etpan_thread_op_cancelled(struct etpan_thread_op * op) +static int etpan_thread_op_cancelled(struct etpan_thread_op * op) { int cancelled; @@ -510,11 +531,12 @@ int etpan_thread_op_cancelled(struct etpan_thread_op * op) return cancelled; } -void etpan_thread_op_cancel(struct etpan_thread_op * op) +#if 0 +static void etpan_thread_op_cancel(struct etpan_thread_op * op) { etpan_thread_op_lock(op); if (op->cancelled) { - ETPAN_LOG("cancelled twice"); + g_warning("cancelled twice"); } op->cancelled = 1; if ((op->callback != NULL) && (!op->callback_called)) { @@ -523,8 +545,10 @@ void etpan_thread_op_cancel(struct etpan_thread_op * op) } etpan_thread_op_unlock(op); } +#endif -int etpan_thread_manager_op_schedule(struct etpan_thread_manager * manager, +#if 0 +static int etpan_thread_manager_op_schedule(struct etpan_thread_manager * manager, struct etpan_thread_op * op) { struct etpan_thread * thread; @@ -539,6 +563,7 @@ int etpan_thread_manager_op_schedule(struct etpan_thread_manager * manager, err: return ERROR_MEMORY; } +#endif int etpan_thread_manager_get_fd(struct etpan_thread_manager * manager) { @@ -565,7 +590,7 @@ static void loop_thread_list(carray * op_to_notify, op = carray_get(thread->op_done_list, j); r = carray_add(op_to_notify, op, NULL); if (r < 0) { - ETPAN_LOG("complete failure of thread due to lack of memory (callback)"); + g_warning("complete failure of thread due to lack of memory (callback)"); break; } } @@ -629,10 +654,12 @@ void etpan_thread_manager_loop(struct etpan_thread_manager * manager) } } -void etpan_thread_manager_start(struct etpan_thread_manager * manager) +#if 0 +static void etpan_thread_manager_start(struct etpan_thread_manager * manager) { /* do nothing */ } +#endif void etpan_thread_manager_stop(struct etpan_thread_manager * manager) { @@ -644,7 +671,7 @@ void etpan_thread_manager_stop(struct etpan_thread_manager * manager) } } -int etpan_thread_manager_is_stopped(struct etpan_thread_manager * manager) +static int etpan_thread_manager_is_stopped(struct etpan_thread_manager * manager) { return ((carray_count(manager->thread_pending) == 0) && (carray_count(manager->thread_pool) == 0)); diff --git a/src/etpan/etpan-thread-manager.h b/src/etpan/etpan-thread-manager.h index 8eb1a7f81..97c9df02f 100644 --- a/src/etpan/etpan-thread-manager.h +++ b/src/etpan/etpan-thread-manager.h @@ -28,8 +28,6 @@ struct etpan_thread_manager * etpan_thread_manager_new(void); void etpan_thread_manager_free(struct etpan_thread_manager * manager); -struct etpan_thread * etpan_thread_new(void); -void etpan_thread_free(struct etpan_thread * thread); struct etpan_thread_op * etpan_thread_op_new(void); void etpan_thread_op_free(struct etpan_thread_op * op); @@ -38,37 +36,24 @@ void etpan_thread_op_free(struct etpan_thread_op * op); int etpan_thread_start(struct etpan_thread * thread); -void etpan_thread_stop(struct etpan_thread * thread); int etpan_thread_is_stopped(struct etpan_thread * thread); -void etpan_thread_join(struct etpan_thread * thread); struct etpan_thread * etpan_thread_manager_get_thread(struct etpan_thread_manager * manager); -unsigned int etpan_thread_get_load(struct etpan_thread * thread); -void etpan_thread_bind(struct etpan_thread * thread); void etpan_thread_unbind(struct etpan_thread * thread); -int etpan_thread_is_bound(struct etpan_thread * thread); /* ** op schedule ** */ int etpan_thread_op_schedule(struct etpan_thread * thread, struct etpan_thread_op * op); -int etpan_thread_op_cancelled(struct etpan_thread_op * op); -void etpan_thread_op_cancel(struct etpan_thread_op * op); -void etpan_thread_op_lock(struct etpan_thread_op * op); -void etpan_thread_op_unlock(struct etpan_thread_op * op); -int etpan_thread_manager_op_schedule(struct etpan_thread_manager * manager, - struct etpan_thread_op * op); /* ** manager main loop ** */ -void etpan_thread_manager_start(struct etpan_thread_manager * manager); void etpan_thread_manager_stop(struct etpan_thread_manager * manager); -int etpan_thread_manager_is_stopped(struct etpan_thread_manager * manager); void etpan_thread_manager_join(struct etpan_thread_manager * manager); int etpan_thread_manager_get_fd(struct etpan_thread_manager * manager); -- 2.25.1