|
Matthew Barnes |
ecd915 |
--- /dev/null 2007-05-24 18:15:54.361082488 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/libedataserver/e-flag.c 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -0,0 +1,171 @@
|
|
Matthew Barnes |
ab6285 |
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
Matthew Barnes |
ab6285 |
+/*
|
|
Matthew Barnes |
ab6285 |
+ * Copyright (C) 2007 Novell, Inc.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * This library is free software; you can redistribute it and/or
|
|
Matthew Barnes |
ab6285 |
+ * modify it under the terms of version 2 of the GNU Lesser General Public
|
|
Matthew Barnes |
ab6285 |
+ * License as published by the Free Software Foundation.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * This program is distributed in the hope that it will be useful,
|
|
Matthew Barnes |
ab6285 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Matthew Barnes |
ab6285 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Matthew Barnes |
ab6285 |
+ * General Public License for more details.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * You should have received a copy of the GNU Lesser General Public
|
|
Matthew Barnes |
ab6285 |
+ * License along with this library; if not, write to the
|
|
Matthew Barnes |
ab6285 |
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Matthew Barnes |
ab6285 |
+ * Boston, MA 02111-1307, USA.
|
|
Matthew Barnes |
ab6285 |
+ */
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+#include "e-flag.h"
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+struct _EFlag {
|
|
Matthew Barnes |
ab6285 |
+ GCond *cond;
|
|
Matthew Barnes |
ab6285 |
+ GMutex *mutex;
|
|
Matthew Barnes |
ab6285 |
+ gboolean is_set;
|
|
Matthew Barnes |
ab6285 |
+};
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_new:
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Creates a new #EFlag object. It is initially unset.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Returns: a new #EFlag
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+EFlag *
|
|
Matthew Barnes |
ab6285 |
+e_flag_new (void)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ EFlag *flag;
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ flag = g_slice_new (EFlag);
|
|
Matthew Barnes |
ab6285 |
+ flag->cond = g_cond_new ();
|
|
Matthew Barnes |
ab6285 |
+ flag->mutex = g_mutex_new ();
|
|
Matthew Barnes |
ab6285 |
+ flag->is_set = FALSE;
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ return flag;
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_is_set:
|
|
Matthew Barnes |
ab6285 |
+ * @flag: an #EFlag
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Returns the state of @flag.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Returns: %TRUE if @flag is set
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+gboolean
|
|
Matthew Barnes |
ab6285 |
+e_flag_is_set (EFlag *flag)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ gboolean is_set;
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_return_val_if_fail (flag != NULL, FALSE);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_lock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ is_set = flag->is_set;
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_unlock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ return is_set;
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_set:
|
|
Matthew Barnes |
ab6285 |
+ * @flag: an #EFlag
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Sets @flag. All threads waiting on @flag are woken up. Threads that
|
|
Matthew Barnes |
ab6285 |
+ * call e_flag_wait() or e_flag_timed_wait() once @flag is set will not
|
|
Matthew Barnes |
ab6285 |
+ * block at all.
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+void
|
|
Matthew Barnes |
ab6285 |
+e_flag_set (EFlag *flag)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ g_return_if_fail (flag != NULL);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_lock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ flag->is_set = TRUE;
|
|
Matthew Barnes |
ab6285 |
+ g_cond_broadcast (flag->cond);
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_unlock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_clear:
|
|
Matthew Barnes |
ab6285 |
+ * @flag: an #EFlag
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Unsets @flag. Subsequent calls to e_flag_wait() or e_flag_timed_wait()
|
|
Matthew Barnes |
ab6285 |
+ * will block until @flag is set.
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+void
|
|
Matthew Barnes |
ab6285 |
+e_flag_clear (EFlag *flag)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ g_return_if_fail (flag != NULL);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_lock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ flag->is_set = FALSE;
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_unlock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_wait:
|
|
Matthew Barnes |
ab6285 |
+ * @flag: an #EFlag
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Blocks until @flag is set. If @flag is already set, the function returns
|
|
Matthew Barnes |
ab6285 |
+ * immediately.
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+void
|
|
Matthew Barnes |
ab6285 |
+e_flag_wait (EFlag *flag)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ g_return_if_fail (flag != NULL);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_lock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ while (!flag->is_set)
|
|
Matthew Barnes |
ab6285 |
+ g_cond_wait (flag->cond, flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_unlock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_timed_wait:
|
|
Matthew Barnes |
ab6285 |
+ * @flag: an #EFlag
|
|
Matthew Barnes |
ab6285 |
+ * @abs_time: a #GTimeVal, determining the final time
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Blocks until @flag is set, or until the time specified by @abs_time.
|
|
Matthew Barnes |
ab6285 |
+ * If @flag is already set, the function returns immediately. The return
|
|
Matthew Barnes |
ab6285 |
+ * value indicates the state of @flag after waiting.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * If @abs_time is %NULL, e_flag_timed_wait() acts like e_flag_wait().
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * To easily calculate @abs_time, a combination of g_get_current_time() and
|
|
Matthew Barnes |
ab6285 |
+ * g_time_val_add() can be used.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Returns: %TRUE if @flag is now set
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+gboolean
|
|
Matthew Barnes |
ab6285 |
+e_flag_timed_wait (EFlag *flag, GTimeVal *abs_time)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ gboolean is_set;
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_return_val_if_fail (flag != NULL, FALSE);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_lock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ while (!flag->is_set)
|
|
Matthew Barnes |
ab6285 |
+ if (!g_cond_timed_wait (flag->cond, flag->mutex, abs_time))
|
|
Matthew Barnes |
ab6285 |
+ break;
|
|
Matthew Barnes |
ab6285 |
+ is_set = flag->is_set;
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_unlock (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ return is_set;
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/**
|
|
Matthew Barnes |
ab6285 |
+ * e_flag_free:
|
|
Matthew Barnes |
ab6285 |
+ * @flag: an #EFlag
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * Destroys @flag.
|
|
Matthew Barnes |
ab6285 |
+ **/
|
|
Matthew Barnes |
ab6285 |
+void
|
|
Matthew Barnes |
ab6285 |
+e_flag_free (EFlag *flag)
|
|
Matthew Barnes |
ab6285 |
+{
|
|
Matthew Barnes |
ab6285 |
+ g_return_if_fail (flag != NULL);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+ g_cond_free (flag->cond);
|
|
Matthew Barnes |
ab6285 |
+ g_mutex_free (flag->mutex);
|
|
Matthew Barnes |
ab6285 |
+ g_slice_free (EFlag, flag);
|
|
Matthew Barnes |
ab6285 |
+}
|
|
Matthew Barnes |
ecd915 |
--- /dev/null 2007-05-24 18:15:54.361082488 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/libedataserver/e-flag.h 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -0,0 +1,43 @@
|
|
Matthew Barnes |
ab6285 |
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
Matthew Barnes |
ab6285 |
+/*
|
|
Matthew Barnes |
ab6285 |
+ * Copyright (C) 2007 Novell, Inc.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * This library is free software; you can redistribute it and/or
|
|
Matthew Barnes |
ab6285 |
+ * modify it under the terms of version 2 of the GNU Lesser General Public
|
|
Matthew Barnes |
ab6285 |
+ * License as published by the Free Software Foundation.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * This program is distributed in the hope that it will be useful,
|
|
Matthew Barnes |
ab6285 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Matthew Barnes |
ab6285 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Matthew Barnes |
ab6285 |
+ * General Public License for more details.
|
|
Matthew Barnes |
ab6285 |
+ *
|
|
Matthew Barnes |
ab6285 |
+ * You should have received a copy of the GNU Lesser General Public
|
|
Matthew Barnes |
ab6285 |
+ * License along with this library; if not, write to the
|
|
Matthew Barnes |
ab6285 |
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Matthew Barnes |
ab6285 |
+ * Boston, MA 02111-1307, USA.
|
|
Matthew Barnes |
ab6285 |
+ */
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+#ifndef E_FLAG_H
|
|
Matthew Barnes |
ab6285 |
+#define E_FLAG_H
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+/* An EFlag is essentially a binary semaphore with a more intuitive interface.
|
|
Matthew Barnes |
ab6285 |
+ * Based on Python's threading.Event class ("EEvent" was already taken). */
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+#include <glib.h>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+G_BEGIN_DECLS
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+typedef struct _EFlag EFlag;
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+EFlag * e_flag_new (void);
|
|
Matthew Barnes |
ab6285 |
+gboolean e_flag_is_set (EFlag *flag);
|
|
Matthew Barnes |
ab6285 |
+void e_flag_set (EFlag *flag);
|
|
Matthew Barnes |
ab6285 |
+void e_flag_clear (EFlag *flag);
|
|
Matthew Barnes |
ab6285 |
+void e_flag_wait (EFlag *flag);
|
|
Matthew Barnes |
ab6285 |
+gboolean e_flag_timed_wait (EFlag *flag,
|
|
Matthew Barnes |
ab6285 |
+ GTimeVal *abs_time);
|
|
Matthew Barnes |
ab6285 |
+void e_flag_free (EFlag *flag);
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+G_END_DECLS
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+#endif /* E_FLAG_H */
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/libedataserver/Makefile.in.e-flag 2007-05-28 03:48:00.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/libedataserver/Makefile.in 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -69,7 +69,7 @@
|
|
Matthew Barnes |
ab6285 |
am_libedataserver_1_2_la_OBJECTS = $(am__objects_1) e-account-list.lo \
|
|
Matthew Barnes |
ab6285 |
e-account.lo e-categories.lo e-component-listener.lo \
|
|
Matthew Barnes |
ab6285 |
e-data-server-module.lo e-dbhash.lo e-db3-utils.lo \
|
|
Matthew Barnes |
ab6285 |
- e-file-cache.lo e-iconv.lo e-iterator.lo e-list.lo \
|
|
Matthew Barnes |
ab6285 |
+ e-file-cache.lo e-flag.lo e-iconv.lo e-iterator.lo e-list.lo \
|
|
Matthew Barnes |
ab6285 |
e-list-iterator.lo e-memory.lo e-msgport.lo e-sexp.lo \
|
|
Matthew Barnes |
ab6285 |
e-source-group.lo e-source-list.lo e-source.lo e-time-utils.lo \
|
|
Matthew Barnes |
ab6285 |
e-uid.lo e-url.lo e-data-server-util.lo e-trie.lo \
|
|
Matthew Barnes |
ecd915 |
@@ -422,6 +422,7 @@
|
|
Matthew Barnes |
ab6285 |
e-dbhash.c \
|
|
Matthew Barnes |
ab6285 |
e-db3-utils.c \
|
|
Matthew Barnes |
ab6285 |
e-file-cache.c \
|
|
Matthew Barnes |
ab6285 |
+ e-flag.c \
|
|
Matthew Barnes |
ab6285 |
e-iconv.c \
|
|
Matthew Barnes |
ab6285 |
e-iterator.c \
|
|
Matthew Barnes |
ab6285 |
e-list.c \
|
|
Matthew Barnes |
ecd915 |
@@ -461,6 +462,7 @@
|
|
Matthew Barnes |
ab6285 |
e-db3-utils.h \
|
|
Matthew Barnes |
ab6285 |
e-dbhash.h \
|
|
Matthew Barnes |
ab6285 |
e-file-cache.h \
|
|
Matthew Barnes |
ab6285 |
+ e-flag.h \
|
|
Matthew Barnes |
ab6285 |
e-iconv.h \
|
|
Matthew Barnes |
ab6285 |
e-iterator.h \
|
|
Matthew Barnes |
ab6285 |
e-list.h \
|
|
Matthew Barnes |
ecd915 |
@@ -579,6 +581,7 @@
|
|
Matthew Barnes |
ab6285 |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-db3-utils.Plo@am__quote@
|
|
Matthew Barnes |
ab6285 |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-dbhash.Plo@am__quote@
|
|
Matthew Barnes |
ab6285 |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-file-cache.Plo@am__quote@
|
|
Matthew Barnes |
ab6285 |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-flag.Plo@am__quote@
|
|
Matthew Barnes |
ab6285 |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-iconv.Plo@am__quote@
|
|
Matthew Barnes |
ab6285 |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-iterator.Plo@am__quote@
|
|
Matthew Barnes |
ab6285 |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-list-iterator.Plo@am__quote@
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/libedataserver/Makefile.am.e-flag 2007-04-09 08:42:55.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/libedataserver/Makefile.am 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -26,6 +26,7 @@
|
|
Matthew Barnes |
ab6285 |
e-dbhash.c \
|
|
Matthew Barnes |
ab6285 |
e-db3-utils.c \
|
|
Matthew Barnes |
ab6285 |
e-file-cache.c \
|
|
Matthew Barnes |
ab6285 |
+ e-flag.c \
|
|
Matthew Barnes |
ab6285 |
e-iconv.c \
|
|
Matthew Barnes |
ab6285 |
e-iterator.c \
|
|
Matthew Barnes |
ab6285 |
e-list.c \
|
|
Matthew Barnes |
ab6285 |
@@ -66,6 +67,7 @@
|
|
Matthew Barnes |
ab6285 |
e-db3-utils.h \
|
|
Matthew Barnes |
ab6285 |
e-dbhash.h \
|
|
Matthew Barnes |
ab6285 |
e-file-cache.h \
|
|
Matthew Barnes |
ab6285 |
+ e-flag.h \
|
|
Matthew Barnes |
ab6285 |
e-iconv.h \
|
|
Matthew Barnes |
ab6285 |
e-iterator.h \
|
|
Matthew Barnes |
ab6285 |
e-list.h \
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/addressbook/backends/file/e-book-backend-file.c.e-flag 2007-04-09 08:42:57.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/addressbook/backends/file/e-book-backend-file.c 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -43,6 +43,7 @@
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-dbhash.h"
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-db3-utils.h"
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-data-server-util.h"
|
|
Matthew Barnes |
ab6285 |
+#include "libedataserver/e-flag.h"
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
#include "libebook/e-contact.h"
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -479,18 +480,15 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
typedef struct {
|
|
Matthew Barnes |
ab6285 |
EBookBackendFile *bf;
|
|
Matthew Barnes |
ab6285 |
- GMutex *mutex;
|
|
Matthew Barnes |
ab6285 |
- GCond *cond;
|
|
Matthew Barnes |
ab6285 |
GThread *thread;
|
|
Matthew Barnes |
ab6285 |
- gboolean stopped;
|
|
Matthew Barnes |
ab6285 |
+ EFlag *running;
|
|
Matthew Barnes |
ab6285 |
} FileBackendSearchClosure;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ab6285 |
closure_destroy (FileBackendSearchClosure *closure)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
d(printf ("destroying search closure\n"));
|
|
Matthew Barnes |
ab6285 |
- g_mutex_free (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_free (closure->cond);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_free (closure->running);
|
|
Matthew Barnes |
ab6285 |
g_free (closure);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -500,10 +498,8 @@
|
|
Matthew Barnes |
ab6285 |
FileBackendSearchClosure *closure = g_new (FileBackendSearchClosure, 1);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
closure->bf = bf;
|
|
Matthew Barnes |
ab6285 |
- closure->mutex = g_mutex_new ();
|
|
Matthew Barnes |
ab6285 |
- closure->cond = g_cond_new ();
|
|
Matthew Barnes |
ab6285 |
closure->thread = NULL;
|
|
Matthew Barnes |
ab6285 |
- closure->stopped = FALSE;
|
|
Matthew Barnes |
ab6285 |
+ closure->running = e_flag_new ();
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
g_object_set_data_full (G_OBJECT (book_view), "EBookBackendFile.BookView::closure",
|
|
Matthew Barnes |
ab6285 |
closure, (GDestroyNotify)closure_destroy);
|
|
Matthew Barnes |
ab6285 |
@@ -527,7 +523,7 @@
|
|
Matthew Barnes |
ab6285 |
DB *db;
|
|
Matthew Barnes |
ab6285 |
DBT id_dbt, vcard_dbt;
|
|
Matthew Barnes |
ab6285 |
int db_error;
|
|
Matthew Barnes |
ab6285 |
- gboolean stopped = FALSE, allcontacts;
|
|
Matthew Barnes |
ab6285 |
+ gboolean allcontacts;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
d(printf ("starting initial population of book view\n"));
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -547,9 +543,7 @@
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
d(printf ("signalling parent thread\n"));
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (closure->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (e_book_backend_summary_is_summary_query (bf->priv->summary, query)) {
|
|
Matthew Barnes |
ab6285 |
/* do a summary query */
|
|
Matthew Barnes |
ab6285 |
@@ -558,11 +552,8 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
for (i = 0; i < ids->len; i ++) {
|
|
Matthew Barnes |
ab6285 |
char *id = g_ptr_array_index (ids, i);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- stopped = closure->stopped;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- if (stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (!e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
break;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
string_to_dbt (id, &id_dbt);
|
|
Matthew Barnes |
ab6285 |
@@ -595,11 +586,7 @@
|
|
Matthew Barnes |
ab6285 |
db_error = dbc->c_get(dbc, &id_dbt, &vcard_dbt, DB_FIRST);
|
|
Matthew Barnes |
ab6285 |
while (db_error == 0) {
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- stopped = closure->stopped;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- if (stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (!e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
break;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* don't include the version in the list of cards */
|
|
Matthew Barnes |
ab6285 |
@@ -628,7 +615,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- if (!stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_complete (book_view, GNOME_Evolution_Addressbook_Success);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* unref the */
|
|
Matthew Barnes |
ab6285 |
@@ -646,15 +633,12 @@
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
FileBackendSearchClosure *closure = init_closure (book_view, E_BOOK_BACKEND_FILE (backend));
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
d(printf ("starting book view thread\n"));
|
|
Matthew Barnes |
ab6285 |
closure->thread = g_thread_create (book_view_thread, book_view, TRUE, NULL);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (closure->cond, closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* at this point we know the book view thread is actually running */
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
d(printf ("returning from start_book_view\n"));
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -663,14 +647,11 @@
|
|
Matthew Barnes |
ab6285 |
EDataBookView *book_view)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
FileBackendSearchClosure *closure = get_closure (book_view);
|
|
Matthew Barnes |
ab6285 |
- gboolean need_join = FALSE;
|
|
Matthew Barnes |
ab6285 |
+ gboolean need_join;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
d(printf ("stopping query\n"));
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- if (!closure->stopped)
|
|
Matthew Barnes |
ab6285 |
- need_join = TRUE;
|
|
Matthew Barnes |
ab6285 |
- closure->stopped = TRUE;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ need_join = e_flag_is_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_clear (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (need_join)
|
|
Matthew Barnes |
ab6285 |
g_thread_join (closure->thread);
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/addressbook/backends/groupwise/e-book-backend-groupwise.c.e-flag 2007-04-09 08:42:58.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/addressbook/backends/groupwise/e-book-backend-groupwise.c 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -40,6 +40,7 @@
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-sexp.h"
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-data-server-util.h"
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-db3-utils.h"
|
|
Matthew Barnes |
ab6285 |
+#include "libedataserver/e-flag.h"
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-url.h"
|
|
Matthew Barnes |
ab6285 |
#include "libebook/e-contact.h"
|
|
Matthew Barnes |
ab6285 |
#include "libedata-book/e-book-backend-sexp.h"
|
|
Matthew Barnes |
ab6285 |
@@ -2070,17 +2071,14 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
typedef struct {
|
|
Matthew Barnes |
ab6285 |
EBookBackendGroupwise *bg;
|
|
Matthew Barnes |
ab6285 |
- GMutex *mutex;
|
|
Matthew Barnes |
ab6285 |
- GCond *cond;
|
|
Matthew Barnes |
ab6285 |
GThread *thread;
|
|
Matthew Barnes |
ab6285 |
- gboolean stopped;
|
|
Matthew Barnes |
ab6285 |
+ EFlag *running;
|
|
Matthew Barnes |
ab6285 |
} GroupwiseBackendSearchClosure;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ab6285 |
closure_destroy (GroupwiseBackendSearchClosure *closure)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
- g_mutex_free (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_free (closure->cond);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_free (closure->running);
|
|
Matthew Barnes |
ab6285 |
g_free (closure);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -2090,10 +2088,8 @@
|
|
Matthew Barnes |
ab6285 |
GroupwiseBackendSearchClosure *closure = g_new (GroupwiseBackendSearchClosure, 1);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
closure->bg = bg;
|
|
Matthew Barnes |
ab6285 |
- closure->mutex = g_mutex_new ();
|
|
Matthew Barnes |
ab6285 |
- closure->cond = g_cond_new ();
|
|
Matthew Barnes |
ab6285 |
closure->thread = NULL;
|
|
Matthew Barnes |
ab6285 |
- closure->stopped = FALSE;
|
|
Matthew Barnes |
ab6285 |
+ closure->running = e_flag_new ();
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
g_object_set_data_full (G_OBJECT (book_view), "EBookBackendGroupwise.BookView::closure",
|
|
Matthew Barnes |
ab6285 |
closure, (GDestroyNotify)closure_destroy);
|
|
Matthew Barnes |
ab6285 |
@@ -2115,19 +2111,14 @@
|
|
Matthew Barnes |
ab6285 |
GroupwiseBackendSearchClosure *closure)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
int i;
|
|
Matthew Barnes |
ab6285 |
- gboolean stopped = FALSE;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (enable_debug)
|
|
Matthew Barnes |
ab6285 |
printf ("\nread contacts from cache for the ids found in summary\n");
|
|
Matthew Barnes |
ab6285 |
for (i = 0; i < ids->len; i ++) {
|
|
Matthew Barnes |
ab6285 |
char *uid = g_ptr_array_index (ids, i);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- stopped = closure->stopped;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- if (stopped)
|
|
Matthew Barnes |
ab6285 |
- break;
|
|
Matthew Barnes |
ab6285 |
+ if (!e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
+ break;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
EContact *contact =
|
|
Matthew Barnes |
ab6285 |
e_book_backend_db_cache_get_contact (ebgw->priv->file_db, uid);
|
|
Matthew Barnes |
ab6285 |
@@ -2136,7 +2127,7 @@
|
|
Matthew Barnes |
ab6285 |
g_object_unref (contact);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
- if (!stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_complete (book_view,
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Addressbook_Success);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
@@ -2151,7 +2142,6 @@
|
|
Matthew Barnes |
ab6285 |
const char *query = NULL;
|
|
Matthew Barnes |
ab6285 |
EGwFilter *filter = NULL;
|
|
Matthew Barnes |
ab6285 |
GPtrArray *ids = NULL;
|
|
Matthew Barnes |
ab6285 |
- gboolean stopped = FALSE;
|
|
Matthew Barnes |
ab6285 |
EDataBookView *book_view = data;
|
|
Matthew Barnes |
ab6285 |
GroupwiseBackendSearchClosure *closure = get_closure (book_view);
|
|
Matthew Barnes |
ab6285 |
char *view = NULL;
|
|
Matthew Barnes |
ab6285 |
@@ -2166,9 +2156,7 @@
|
|
Matthew Barnes |
ab6285 |
if (enable_debug)
|
|
Matthew Barnes |
ab6285 |
printf ("start book view for %s \n", gwb->priv->book_name);
|
|
Matthew Barnes |
ab6285 |
bonobo_object_ref (book_view);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (closure->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
query = e_data_book_view_get_card_query (book_view);
|
|
Matthew Barnes |
ab6285 |
if (enable_debug)
|
|
Matthew Barnes |
ab6285 |
@@ -2200,10 +2188,7 @@
|
|
Matthew Barnes |
ab6285 |
contacts = e_book_backend_db_cache_get_contacts (gwb->priv->file_db, query);
|
|
Matthew Barnes |
ab6285 |
temp_list = contacts;
|
|
Matthew Barnes |
ab6285 |
for (; contacts != NULL; contacts = g_list_next(contacts)) {
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- stopped = closure->stopped;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- if (stopped) {
|
|
Matthew Barnes |
ab6285 |
+ if (!e_flag_is_set (closure->running)) {
|
|
Matthew Barnes |
ab6285 |
for (;contacts != NULL; contacts = g_list_next (contacts))
|
|
Matthew Barnes |
ab6285 |
g_object_unref (contacts->data);
|
|
Matthew Barnes |
ab6285 |
break;
|
|
Matthew Barnes |
ab6285 |
@@ -2211,7 +2196,7 @@
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_update (book_view, E_CONTACT(contacts->data));
|
|
Matthew Barnes |
ab6285 |
g_object_unref (contacts->data);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
- if (!stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_complete (book_view, GNOME_Evolution_Addressbook_Success);
|
|
Matthew Barnes |
ab6285 |
if (temp_list)
|
|
Matthew Barnes |
ab6285 |
g_list_free (temp_list);
|
|
Matthew Barnes |
ab6285 |
@@ -2339,10 +2324,7 @@
|
|
Matthew Barnes |
ab6285 |
temp_list = gw_items;
|
|
Matthew Barnes |
ab6285 |
for (; gw_items != NULL; gw_items = g_list_next(gw_items)) {
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- stopped = closure->stopped;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- if (stopped) {
|
|
Matthew Barnes |
ab6285 |
+ if (!e_flag_is_set (closure->running)) {
|
|
Matthew Barnes |
ab6285 |
for (;gw_items != NULL; gw_items = g_list_next (gw_items))
|
|
Matthew Barnes |
ab6285 |
g_object_unref (gw_items->data);
|
|
Matthew Barnes |
ab6285 |
break;
|
|
Matthew Barnes |
ab6285 |
@@ -2363,7 +2345,7 @@
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
if (temp_list)
|
|
Matthew Barnes |
ab6285 |
g_list_free (temp_list);
|
|
Matthew Barnes |
ab6285 |
- if (!stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_complete (book_view, GNOME_Evolution_Addressbook_Success);
|
|
Matthew Barnes |
ab6285 |
if (filter)
|
|
Matthew Barnes |
ab6285 |
g_object_unref (filter);
|
|
Matthew Barnes |
ab6285 |
@@ -2392,12 +2374,10 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (enable_debug)
|
|
Matthew Barnes |
ab6285 |
printf ("\ne_book_backend_groupwise_start_book_view...\n");
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
closure->thread = g_thread_create (book_view_thread, book_view, FALSE, NULL);
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (closure->cond, closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* at this point we know the book view thread is actually running */
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ab6285 |
@@ -2408,10 +2388,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (enable_debug)
|
|
Matthew Barnes |
ab6285 |
printf ("\ne_book_backend_groupwise_stop_book_view...\n");
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- if (!closure->stopped)
|
|
Matthew Barnes |
ab6285 |
- closure->stopped = TRUE;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_clear (closure->running);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ab6285 |
@@ -2650,11 +2627,8 @@
|
|
Matthew Barnes |
ab6285 |
if (book_view) {
|
|
Matthew Barnes |
ab6285 |
closure = get_closure (book_view);
|
|
Matthew Barnes |
ab6285 |
bonobo_object_ref (book_view);
|
|
Matthew Barnes |
ab6285 |
- if (closure) {
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (closure->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- }
|
|
Matthew Barnes |
ab6285 |
+ if (closure)
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
while (!done) {
|
|
Matthew Barnes |
ab6285 |
@@ -2799,11 +2773,8 @@
|
|
Matthew Barnes |
ab6285 |
if (book_view) {
|
|
Matthew Barnes |
ab6285 |
closure = get_closure (book_view);
|
|
Matthew Barnes |
ab6285 |
bonobo_object_ref (book_view);
|
|
Matthew Barnes |
ab6285 |
- if (closure) {
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (closure->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- }
|
|
Matthew Barnes |
ab6285 |
+ if (closure)
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
cache_file_name = e_book_backend_db_cache_get_filename(ebgw->priv->file_db);
|
|
Matthew Barnes |
ab6285 |
@@ -2967,11 +2938,8 @@
|
|
Matthew Barnes |
ab6285 |
if (book_view) {
|
|
Matthew Barnes |
ab6285 |
closure = get_closure (book_view);
|
|
Matthew Barnes |
ab6285 |
bonobo_object_ref (book_view);
|
|
Matthew Barnes |
ab6285 |
- if (closure){
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (closure->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- }
|
|
Matthew Barnes |
ab6285 |
+ if (closure)
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* update the cache */
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/addressbook/backends/vcf/e-book-backend-vcf.c.e-flag 2007-04-09 08:42:58.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/addressbook/backends/vcf/e-book-backend-vcf.c 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -41,6 +41,7 @@
|
|
Matthew Barnes |
ab6285 |
#include <glib/gi18n-lib.h>
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
#include "libedataserver/e-data-server-util.h"
|
|
Matthew Barnes |
ab6285 |
+#include "libedataserver/e-flag.h"
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
#include "libebook/e-contact.h"
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -427,18 +428,15 @@
|
|
Matthew Barnes |
ab6285 |
typedef struct {
|
|
Matthew Barnes |
ab6285 |
EBookBackendVCF *bvcf;
|
|
Matthew Barnes |
ab6285 |
EDataBookView *view;
|
|
Matthew Barnes |
ab6285 |
- GMutex *mutex;
|
|
Matthew Barnes |
ab6285 |
- GCond *cond;
|
|
Matthew Barnes |
ab6285 |
GThread *thread;
|
|
Matthew Barnes |
ab6285 |
- gboolean stopped;
|
|
Matthew Barnes |
ab6285 |
+ EFlag *running;
|
|
Matthew Barnes |
ab6285 |
} VCFBackendSearchClosure;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ab6285 |
closure_destroy (VCFBackendSearchClosure *closure)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
d(printf ("destroying search closure\n"));
|
|
Matthew Barnes |
ab6285 |
- g_mutex_free (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_free (closure->cond);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_free (closure->running);
|
|
Matthew Barnes |
ab6285 |
g_free (closure);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
@@ -449,10 +447,8 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
closure->bvcf = bvcf;
|
|
Matthew Barnes |
ab6285 |
closure->view = book_view;
|
|
Matthew Barnes |
ab6285 |
- closure->mutex = g_mutex_new ();
|
|
Matthew Barnes |
ab6285 |
- closure->cond = g_cond_new ();
|
|
Matthew Barnes |
ab6285 |
closure->thread = NULL;
|
|
Matthew Barnes |
ab6285 |
- closure->stopped = FALSE;
|
|
Matthew Barnes |
ab6285 |
+ closure->running = e_flag_new ();
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
g_object_set_data_full (G_OBJECT (book_view), "EBookBackendVCF.BookView::closure",
|
|
Matthew Barnes |
ab6285 |
closure, (GDestroyNotify)closure_destroy);
|
|
Matthew Barnes |
ab6285 |
@@ -486,9 +482,7 @@
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_status_message (book_view, _("Searching..."));
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
d(printf ("signalling parent thread\n"));
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (closure->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
for (l = closure->bvcf->priv->contact_list; l; l = l->next) {
|
|
Matthew Barnes |
ab6285 |
char *vcard_string = l->data;
|
|
Matthew Barnes |
ab6285 |
@@ -496,11 +490,11 @@
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_update (closure->view, contact);
|
|
Matthew Barnes |
ab6285 |
g_object_unref (contact);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- if (closure->stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (!e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
break;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- if (!closure->stopped)
|
|
Matthew Barnes |
ab6285 |
+ if (e_flag_is_set (closure->running))
|
|
Matthew Barnes |
ab6285 |
e_data_book_view_notify_complete (closure->view, GNOME_Evolution_Addressbook_Success);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* unref the book view */
|
|
Matthew Barnes |
ab6285 |
@@ -518,15 +512,12 @@
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
VCFBackendSearchClosure *closure = init_closure (book_view, E_BOOK_BACKEND_VCF (backend));
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
d(printf ("starting book view thread\n"));
|
|
Matthew Barnes |
ab6285 |
closure->thread = g_thread_create (book_view_thread, book_view, TRUE, NULL);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (closure->cond, closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* at this point we know the book view thread is actually running */
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
d(printf ("returning from start_book_view\n"));
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
@@ -536,14 +527,11 @@
|
|
Matthew Barnes |
ab6285 |
EDataBookView *book_view)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
VCFBackendSearchClosure *closure = get_closure (book_view);
|
|
Matthew Barnes |
ab6285 |
- gboolean need_join = FALSE;
|
|
Matthew Barnes |
ab6285 |
+ gboolean need_join;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
d(printf ("stopping query\n"));
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
- if (!closure->stopped)
|
|
Matthew Barnes |
ab6285 |
- need_join = TRUE;
|
|
Matthew Barnes |
ab6285 |
- closure->stopped = TRUE;
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (closure->mutex);
|
|
Matthew Barnes |
ab6285 |
+ need_join = e_flag_is_set (closure->running);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_clear (closure->running);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (need_join)
|
|
Matthew Barnes |
ab6285 |
g_thread_join (closure->thread);
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/docs/reference/libedataserver/libedataserver-docs.sgml.e-flag 2007-04-09 08:42:50.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/docs/reference/libedataserver/libedataserver-docs.sgml 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -16,6 +16,7 @@
|
|
Matthew Barnes |
ab6285 |
<xi:include href="xml/e-db3-utils.xml"/>
|
|
Matthew Barnes |
ab6285 |
<xi:include href="xml/e-dbhash.xml"/>
|
|
Matthew Barnes |
ab6285 |
<xi:include href="xml/e-file-cache.xml"/>
|
|
Matthew Barnes |
ab6285 |
+ <xi:include href="xml/e-flag.xml"/>
|
|
Matthew Barnes |
ab6285 |
<xi:include href="xml/e-iconv.xml"/>
|
|
Matthew Barnes |
ab6285 |
<xi:include href="xml/e-iterator.xml"/>
|
|
Matthew Barnes |
ecd915 |
<xi:include href="xml/e-list.xml"/>
|
|
Matthew Barnes |
ecd915 |
--- /dev/null 2007-05-24 18:15:54.361082488 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/docs/reference/libedataserver/tmpl/e-flag.sgml 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -0,0 +1,89 @@
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+EFlag
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+Simple thread synchronization
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+An #EFlag is a simple thread synchronization mechanism. It implements a
|
|
Matthew Barnes |
ab6285 |
+thread-safe flag that can be blocked on.
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+The <structname>EFlag</structname> struct is an opaque data structure
|
|
Matthew Barnes |
ab6285 |
+representing a thread-safe flag. It should be accessed only by using
|
|
Matthew Barnes |
ab6285 |
+the following functions.
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@Returns:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@flag:
|
|
Matthew Barnes |
ab6285 |
+@Returns:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@flag:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@flag:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@flag:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@flag:
|
|
Matthew Barnes |
ab6285 |
+@abs_time:
|
|
Matthew Barnes |
ab6285 |
+@Returns:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+</para>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+@flag:
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/docs/reference/libedataserver/libedataserver-sections.txt.e-flag 2007-04-09 08:42:50.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/docs/reference/libedataserver/libedataserver-sections.txt 2007-05-28 19:24:40.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
@@ -109,6 +109,19 @@
|
|
Matthew Barnes |
ab6285 |
</SECTION>
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
<SECTION>
|
|
Matthew Barnes |
ab6285 |
+<FILE>e-flag</FILE>
|
|
Matthew Barnes |
ab6285 |
+<TITLE>EFlag</TITLE>
|
|
Matthew Barnes |
ab6285 |
+EFlag
|
|
Matthew Barnes |
ab6285 |
+e_flag_new
|
|
Matthew Barnes |
ab6285 |
+e_flag_is_set
|
|
Matthew Barnes |
ab6285 |
+e_flag_set
|
|
Matthew Barnes |
ab6285 |
+e_flag_clear
|
|
Matthew Barnes |
ab6285 |
+e_flag_wait
|
|
Matthew Barnes |
ab6285 |
+e_flag_timed_wait
|
|
Matthew Barnes |
ab6285 |
+e_flag_free
|
|
Matthew Barnes |
ab6285 |
+</SECTION>
|
|
Matthew Barnes |
ab6285 |
+
|
|
Matthew Barnes |
ab6285 |
+<SECTION>
|
|
Matthew Barnes |
ab6285 |
<FILE>e-iterator</FILE>
|
|
Matthew Barnes |
ab6285 |
<TITLE>EIterator</TITLE>
|
|
Matthew Barnes |
ecd915 |
EIterator
|
|
Matthew Barnes |
ecd915 |
--- evolution-data-server-1.10.2/calendar/libecal/e-cal.c.e-flag 2007-05-25 02:42:39.000000000 -0400
|
|
Matthew Barnes |
ecd915 |
+++ evolution-data-server-1.10.2/calendar/libecal/e-cal.c 2007-05-28 19:26:08.000000000 -0400
|
|
Matthew Barnes |
ab6285 |
@@ -33,6 +33,7 @@
|
|
Matthew Barnes |
ab6285 |
#include <bonobo/bonobo-main.h>
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
#include <libedataserver/e-component-listener.h>
|
|
Matthew Barnes |
ab6285 |
+#include <libedataserver/e-flag.h>
|
|
Matthew Barnes |
ab6285 |
#include <libedataserver/e-url.h>
|
|
Matthew Barnes |
ab6285 |
#include "e-cal-marshal.h"
|
|
Matthew Barnes |
ab6285 |
#include "e-cal-time-util.h"
|
|
Matthew Barnes |
ab6285 |
@@ -49,8 +50,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
typedef struct {
|
|
Matthew Barnes |
ab6285 |
- GMutex *mutex;
|
|
Matthew Barnes |
ab6285 |
- GCond *cond;
|
|
Matthew Barnes |
ab6285 |
+ EFlag *done;
|
|
Matthew Barnes |
ab6285 |
ECalendarStatus status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
char *uid;
|
|
Matthew Barnes |
ecd915 |
@@ -303,8 +303,7 @@
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
ECalendarOp *op = g_new0 (ECalendarOp, 1);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- op->mutex = g_mutex_new ();
|
|
Matthew Barnes |
ab6285 |
- op->cond = g_cond_new ();
|
|
Matthew Barnes |
ab6285 |
+ op->done = e_flag_new ();
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
ecal->priv->current_op = op;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -326,8 +325,7 @@
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (ECalendarOp *op)
|
|
Matthew Barnes |
ab6285 |
{
|
|
Matthew Barnes |
ab6285 |
/* XXX more stuff here */
|
|
Matthew Barnes |
ab6285 |
- g_cond_free (op->cond);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_free (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_free (op->done);
|
|
Matthew Barnes |
ab6285 |
g_free (op);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -445,14 +443,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->bool = read_only;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -474,14 +468,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (address);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -497,14 +487,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (address);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -520,14 +506,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (attribute);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -543,14 +525,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (capabilities);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -566,13 +544,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -588,13 +562,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -610,14 +580,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->uid = g_strdup (uid);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -633,13 +599,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -655,13 +617,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -677,13 +635,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -699,13 +653,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -722,8 +672,6 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->list = g_list_copy (users);
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (object);
|
|
Matthew Barnes |
ecd915 |
@@ -731,9 +679,7 @@
|
|
Matthew Barnes |
ab6285 |
for (l = op->list; l; l = l->next)
|
|
Matthew Barnes |
ab6285 |
l->data = g_strdup (l->data);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -749,14 +695,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (object);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -772,14 +714,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (object);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -796,17 +734,13 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->list = g_list_copy (objects);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
for (l = op->list; l; l = l->next)
|
|
Matthew Barnes |
ab6285 |
l->data = icalcomponent_new_clone (l->data);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -822,14 +756,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->slist = g_slist_copy (attachments);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -845,15 +775,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->string = g_strdup (object);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -869,15 +794,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->uid = g_strdup (tzid);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -893,13 +813,9 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -916,8 +832,6 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->list = g_list_copy (changes);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -931,9 +845,7 @@
|
|
Matthew Barnes |
ab6285 |
l->data = new_ccc;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -950,17 +862,13 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->list = g_list_copy (freebusy);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
for (l = op->list; l; l = l->next)
|
|
Matthew Barnes |
ab6285 |
l->data = e_cal_component_clone (l->data);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static void
|
|
Matthew Barnes |
ecd915 |
@@ -976,14 +884,10 @@
|
|
Matthew Barnes |
ab6285 |
return;
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
op->status = status;
|
|
Matthew Barnes |
ab6285 |
op->query = e_cal_view_new (query, op->listener, ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_cond_signal (op->cond);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_set (op->done);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
static gboolean
|
|
Matthew Barnes |
ecd915 |
@@ -1714,7 +1618,6 @@
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
/* start the open operation */
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -1727,7 +1630,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (priv->auth_func == NULL) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
priv->load_state = E_CAL_LOAD_NOT_LOADED;
|
|
Matthew Barnes |
ab6285 |
*status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED;
|
|
Matthew Barnes |
ecd915 |
@@ -1737,7 +1639,6 @@
|
|
Matthew Barnes |
ab6285 |
username = e_source_get_property (priv->source, "username");
|
|
Matthew Barnes |
ab6285 |
if (!username) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
priv->load_state = E_CAL_LOAD_NOT_LOADED;
|
|
Matthew Barnes |
ab6285 |
*status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED;
|
|
Matthew Barnes |
ecd915 |
@@ -1765,7 +1666,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (!key) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
priv->load_state = E_CAL_LOAD_NOT_LOADED;
|
|
Matthew Barnes |
ab6285 |
*status = E_CALENDAR_STATUS_URI_NOT_LOADED;
|
|
Matthew Barnes |
ecd915 |
@@ -1776,7 +1676,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (!password) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
priv->load_state = E_CAL_LOAD_NOT_LOADED;
|
|
Matthew Barnes |
ab6285 |
*status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED;
|
|
Matthew Barnes |
ecd915 |
@@ -1801,7 +1700,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -1815,14 +1713,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
*status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
if (*status == E_CALENDAR_STATUS_OK) {
|
|
Matthew Barnes |
ab6285 |
priv->load_state = E_CAL_LOAD_LOADED;
|
|
Matthew Barnes |
ecd915 |
@@ -1978,8 +1873,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -1988,7 +1881,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_remove (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2000,14 +1892,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2239,8 +2128,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
/* set it to true so that op does not emit cond signals for all notifications
|
|
Matthew Barnes |
ab6285 |
from the backend */
|
|
Matthew Barnes |
ab6285 |
our_op->bool = TRUE;
|
|
Matthew Barnes |
ecd915 |
@@ -2253,7 +2140,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_isReadOnly (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2265,9 +2151,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -2275,7 +2159,6 @@
|
|
Matthew Barnes |
ab6285 |
*read_only = our_op->bool;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ecd915 |
@@ -2318,8 +2201,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -2328,7 +2209,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getCalAddress (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2340,14 +2220,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*cal_address = our_op->string;
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2395,8 +2272,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -2405,7 +2280,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getAlarmEmailAddress (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2417,15 +2291,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*alarm_address = our_op->string;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2468,8 +2339,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -2478,7 +2347,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getLdapAttribute (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2490,15 +2358,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*ldap_attribute = our_op->string;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2531,8 +2396,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -2541,7 +2404,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getStaticCapabilities (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2553,15 +2415,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
priv->capabilities = our_op->string;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2770,8 +2629,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2779,7 +2636,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getDefaultObject (priv->cal, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2791,9 +2647,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
if (status != E_CALENDAR_STATUS_OK) {
|
|
Matthew Barnes |
ecd915 |
@@ -2806,7 +2660,6 @@
|
|
Matthew Barnes |
ab6285 |
g_free (our_op->string);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2851,15 +2704,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getAttachmentList (priv->cal, uid, rid ? rid : "", &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2871,9 +2721,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
if (status != E_CALENDAR_STATUS_OK){
|
|
Matthew Barnes |
ecd915 |
@@ -2883,7 +2731,6 @@
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -2928,8 +2775,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2937,7 +2782,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getObject (priv->cal, uid, rid ? rid : "", &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -2949,9 +2793,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
if (status != E_CALENDAR_STATUS_OK){
|
|
Matthew Barnes |
ecd915 |
@@ -2999,7 +2841,6 @@
|
|
Matthew Barnes |
ab6285 |
g_free (our_op->string);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -3045,8 +2886,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3054,7 +2893,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getObject (priv->cal, uid, "", &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3066,9 +2904,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
if (status != E_CALENDAR_STATUS_OK){
|
|
Matthew Barnes |
ecd915 |
@@ -3126,7 +2962,6 @@
|
|
Matthew Barnes |
ab6285 |
g_free (our_op->string);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -3196,8 +3031,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3206,7 +3039,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3218,15 +3050,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*changes = our_op->list;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -3296,8 +3125,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3306,7 +3133,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3318,15 +3144,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*objects = our_op->list;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -3429,8 +3252,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* create the CORBA user list to be passed to the backend */
|
|
Matthew Barnes |
ecd915 |
@@ -3450,7 +3271,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -3462,15 +3282,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*freebusy = our_op->list;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4161,8 +3978,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_cal_component_get_uid (comp, &uid);
|
|
Matthew Barnes |
ecd915 |
@@ -4172,7 +3987,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_discardAlarm (priv->cal, uid, auid, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4184,14 +3998,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4407,8 +4218,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4416,7 +4225,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_createObject (priv->cal, icalcomponent_as_ical_string (icalcomp), &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4428,9 +4236,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ecd915 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
if (uid)
|
|
Matthew Barnes |
ecd915 |
@@ -4440,7 +4246,6 @@
|
|
Matthew Barnes |
ecd915 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4490,8 +4295,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4499,7 +4302,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_modifyObject (priv->cal, icalcomponent_as_ical_string (icalcomp), mod, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4511,14 +4313,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4571,8 +4370,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -4581,7 +4378,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_removeObject (priv->cal, uid, rid ? rid : "", mod, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4593,14 +4389,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4665,8 +4458,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4674,7 +4465,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_receiveObjects (priv->cal, icalcomponent_as_ical_string (icalcomp), &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4686,14 +4476,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4739,8 +4526,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4748,7 +4533,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_sendObjects (priv->cal, icalcomponent_as_ical_string (icalcomp), &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4760,9 +4544,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*users = our_op->list;
|
|
Matthew Barnes |
ecd915 |
@@ -4783,7 +4565,6 @@
|
|
Matthew Barnes |
ab6285 |
g_free (our_op->string);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4828,8 +4609,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* Check for well known zones and in the cache */
|
|
Matthew Barnes |
ecd915 |
@@ -4838,7 +4617,6 @@
|
|
Matthew Barnes |
ab6285 |
/* If tzid is NULL or "" we return NULL, since it is a 'local time'. */
|
|
Matthew Barnes |
ab6285 |
if (!tzid || !tzid[0]) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
*zone = NULL;
|
|
Matthew Barnes |
ecd915 |
@@ -4856,7 +4634,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (*zone) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OK, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4868,7 +4645,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_getTimezone (priv->cal, tzid, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -4880,9 +4656,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
if (status != E_CALENDAR_STATUS_OK){
|
|
Matthew Barnes |
ecd915 |
@@ -4896,7 +4670,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (!icalcomp) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4907,7 +4680,6 @@
|
|
Matthew Barnes |
ab6285 |
icaltimezone_free (*zone, 1);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OBJECT_NOT_FOUND, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4917,7 +4689,6 @@
|
|
Matthew Barnes |
ab6285 |
g_hash_table_insert (priv->timezones, icaltimezone_get_tzid (*zone), *zone);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4962,15 +4733,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* Make sure we have a valid component - UTC doesn't, nor do
|
|
Matthew Barnes |
ab6285 |
* we really have to add it */
|
|
Matthew Barnes |
ab6285 |
if (izone == icaltimezone_get_utc_timezone ()) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OK, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4979,7 +4747,6 @@
|
|
Matthew Barnes |
ab6285 |
icalcomp = icaltimezone_get_component (izone);
|
|
Matthew Barnes |
ab6285 |
if (!icalcomp) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_INVALID_ARG, error);
|
|
Matthew Barnes |
ecd915 |
@@ -4994,7 +4761,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_addTimezone (priv->cal, tzobj, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -5006,14 +4772,11 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -5055,8 +4818,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (ecal->priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_init (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -5066,7 +4827,6 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -5078,9 +4838,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
*query = our_op->query;
|
|
Matthew Barnes |
ecd915 |
@@ -5088,7 +4846,6 @@
|
|
Matthew Barnes |
ab6285 |
bonobo_object_unref (BONOBO_OBJECT (our_op->listener));
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|
|
Matthew Barnes |
ecd915 |
@@ -5169,15 +4926,12 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
our_op = e_calendar_new_op (ecal);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- g_mutex_lock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
-
|
|
Matthew Barnes |
ab6285 |
g_mutex_unlock (priv->mutex);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
/* FIXME Adding it to the server to change the tzid */
|
|
Matthew Barnes |
ab6285 |
icalcomp = icaltimezone_get_component (zone);
|
|
Matthew Barnes |
ab6285 |
if (!icalcomp) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_INVALID_ARG, error);
|
|
Matthew Barnes |
ecd915 |
@@ -5192,7 +4946,6 @@
|
|
Matthew Barnes |
ab6285 |
GNOME_Evolution_Calendar_Cal_setDefaultTimezone (priv->cal, tzobj, &ev;;
|
|
Matthew Barnes |
ab6285 |
if (BONOBO_EX (&ev)) {
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ecd915 |
@@ -5204,9 +4957,7 @@
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
CORBA_exception_free (&ev;;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
- /* wait for something to happen (both cancellation and a
|
|
Matthew Barnes |
ab6285 |
- successful response will notity us via our cv */
|
|
Matthew Barnes |
ab6285 |
- g_cond_wait (our_op->cond, our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
+ e_flag_wait (our_op->done);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
status = our_op->status;
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ecd915 |
@@ -5218,7 +4969,6 @@
|
|
Matthew Barnes |
ab6285 |
}
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
e_calendar_remove_op (ecal, our_op);
|
|
Matthew Barnes |
ab6285 |
- g_mutex_unlock (our_op->mutex);
|
|
Matthew Barnes |
ab6285 |
e_calendar_free_op (our_op);
|
|
Matthew Barnes |
ab6285 |
|
|
Matthew Barnes |
ab6285 |
E_CALENDAR_CHECK_STATUS (status, error);
|