diff options
author | Not Zed <NotZed@Ximian.com> | 2001-07-24 08:56:11 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-07-24 08:56:11 +0800 |
commit | 5ef14553c1129aaaf1691c14219a5bcce29bf64f (patch) | |
tree | 89b82e1b53740fdc7cf8ba87aa51133c35317748 | |
parent | 2807ad0103bf4f320019ac83d9af5013e6b40913 (diff) | |
download | gsoc2013-evolution-5ef14553c1129aaaf1691c14219a5bcce29bf64f.tar.gz gsoc2013-evolution-5ef14553c1129aaaf1691c14219a5bcce29bf64f.tar.zst gsoc2013-evolution-5ef14553c1129aaaf1691c14219a5bcce29bf64f.zip |
Added some warnings for bad cases.
2001-07-24 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_register, unregister): Added
some warnings for bad cases.
2001-07-23 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_register): Only insert a hash
entry if we haven't already.
(camel_operation_unregister): Only remove the has entry if the id
is a real thread.
svn path=/trunk/; revision=11329
-rw-r--r-- | camel/ChangeLog | 12 | ||||
-rw-r--r-- | camel/camel-operation.c | 18 |
2 files changed, 26 insertions, 4 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 63601069f2..4ababadcf5 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,15 @@ +2001-07-24 Not Zed <NotZed@Ximian.com> + + * camel-operation.c (camel_operation_register, unregister): Added + some warnings for bad cases. + +2001-07-23 Not Zed <NotZed@Ximian.com> + + * camel-operation.c (camel_operation_register): Only insert a hash + entry if we haven't already. + (camel_operation_unregister): Only remove the has entry if the id + is a real thread. + 2001-07-23 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (do_move): Slight fix for when source == diff --git a/camel/camel-operation.c b/camel/camel-operation.c index 0b5678d29a..dce3340b9a 100644 --- a/camel/camel-operation.c +++ b/camel/camel-operation.c @@ -291,8 +291,12 @@ void camel_operation_register(CamelOperation *cc) } } - cc->id = id; - g_hash_table_insert(operation_active, (void *)id, cc); + if (cc->id == (~0)) { + cc->id = id; + g_hash_table_insert(operation_active, (void *)id, cc); + } else { + g_warning("Re-registering thread %d for cancellation as thread %d", cc->id, id); + } d(printf("registering thread %ld for cancellation\n", id)); @@ -322,8 +326,14 @@ void camel_operation_unregister(CamelOperation *cc) } } - if (cc) - g_hash_table_remove(operation_active, (void *)cc->id); + if (cc) { + if (cc->id != (~0)) { + g_hash_table_remove(operation_active, (void *)cc->id); + cc->id == ~0; + } else { + g_warning("Unregistering an operation that was already unregistered"); + } + } CAMEL_ACTIVE_UNLOCK(); |