Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jberkman
evolution-exchange-2.6
bnc-210487-debug-gal.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bnc-210487-debug-gal.diff of Package evolution-exchange-2.6
Index: addressbook/e-book-backend-gal.c =================================================================== RCS file: /cvs/gnome/evolution-exchange/addressbook/e-book-backend-gal.c,v retrieving revision 1.29 diff -u -p -r1.29 e-book-backend-gal.c --- addressbook/e-book-backend-gal.c 23 Jan 2006 06:36:24 -0000 1.29 +++ addressbook/e-book-backend-gal.c 17 Oct 2006 15:54:07 -0000 @@ -43,7 +43,7 @@ #undef LDAP_DEBUG #endif -#define d(x) +#define d(x) x #include <sys/time.h> @@ -301,6 +301,8 @@ ldap_op_add (LDAPOp *op, EBookBackend *b op->handler = handler; op->dtor = dtor; + d(printf ("(ldap_op_add): active operations %d \n", bl->priv->active_ops + 1)); + g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); if (g_hash_table_lookup (bl->priv->id_to_op, &op->id)) { g_warning ("conflicting ldap msgid's"); @@ -327,7 +329,7 @@ ldap_op_finished (LDAPOp *op) g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); g_hash_table_remove (bl->priv->id_to_op, &op->id); - + /* should handle errors here */ g_mutex_lock (bl->priv->ldap_lock); if (bl->priv->ldap) @@ -343,6 +345,8 @@ ldap_op_finished (LDAPOp *op) g_source_remove (bl->priv->poll_timeout); bl->priv->poll_timeout = -1; } + + d(printf ("(ldap_op_finished): active operations %d \n", bl->priv->active_ops)); g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex); } @@ -1298,6 +1302,9 @@ poll_ldap (EBookBackendGAL *bl) timeout.tv_sec = 0; timeout.tv_usec = LDAP_RESULT_TIMEOUT_MILLIS * 1000; + d(printf ("(poll_ldap): Active operations %d, ldap %p, poll timeout %d, timeout %ld \n", bl->priv->active_ops, ldap, + bl->priv->poll_timeout, timeout.tv_usec)); + g_mutex_lock (bl->priv->ldap_lock); rc = ldap_result (ldap, LDAP_RES_ANY, 0, &timeout, &res); g_mutex_unlock (bl->priv->ldap_lock); @@ -1896,10 +1902,15 @@ dispose (GObject *object) { EBookBackendGAL *bl = E_BOOK_BACKEND_GAL (object); + d(printf ("ldap Dispose\n")); + if (bl->priv) { g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); + g_hash_table_foreach_remove (bl->priv->id_to_op, (GHRFunc)call_dtor, NULL); g_hash_table_destroy (bl->priv->id_to_op); + bl->priv->active_ops = 0; + g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex); g_static_rec_mutex_free (&bl->priv->op_hash_mutex); @@ -1909,8 +1920,10 @@ dispose (GObject *object) } g_mutex_lock (bl->priv->ldap_lock); - if (bl->priv->ldap) + if (bl->priv->ldap) { ldap_unbind (bl->priv->ldap); + bl->priv->ldap = NULL; + } g_mutex_unlock (bl->priv->ldap_lock); if (bl->priv->gc)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor