glibmm r673 - in trunk: . glib/src
- From: murrayc svn gnome org
- To: svn-commits-list gnome org
- Subject: glibmm r673 - in trunk: . glib/src
- Date: Wed, 18 Jun 2008 07:36:09 +0000 (UTC)
Author: murrayc
Date: Wed Jun 18 07:36:09 2008
New Revision: 673
URL: http://svn.gnome.org/viewvc/glibmm?rev=673&view=rev
Log:
2008-06-17 Chris Vine <chris cvine freeserve co uk>
* glib/src/thread.hg: document that the slot object passed to
Glib::Thread::create() should not represent a non-static method of
a class derived from sigc::trackable.
See bug #512348.
Modified:
trunk/ChangeLog
trunk/glib/src/thread.hg
Modified: trunk/glib/src/thread.hg
==============================================================================
--- trunk/glib/src/thread.hg (original)
+++ trunk/glib/src/thread.hg Wed Jun 18 07:36:09 2008
@@ -174,6 +174,7 @@
public:
class Exit;
+ //See http://bugzilla.gnome.org/show_bug.cgi?id=512348 about the sigc::trackable issue.
/** Creates a new thread with the priority <tt>THREAD_PRIORITY_NORMAL</tt>.
* If @a joinable is @c true, you can wait for this thread's termination by
* calling join(). Otherwise the thread will just disappear, when ready.
@@ -182,6 +183,10 @@
* pass additional arguments using sigc::bind(). If the thread was created
* successfully, it is returned, otherwise a ThreadError exception is thrown.
*
+ * Because sigc::trackable is not thread safe, if the slot represents a
+ * non-static class method (that is, it is created by sigc::mem_fun()), the
+ * class concerned should not derive from sigc::trackable.
+ *
* @param slot A slot to execute in the new thread.
* @param joinable Should this thread be joinable?
* @return The new Thread* on success.
@@ -189,6 +194,7 @@
*/
static Thread* create(const sigc::slot<void>& slot, bool joinable);
+ //See http://bugzilla.gnome.org/show_bug.cgi?id=512348 about the sigc::trackable issue.
/** Creates a new thread with the priority @a priority. The stack gets the
* size @a stack_size or the default value for the current platform, if
* @a stack_size is <tt>0</tt>.
@@ -204,6 +210,10 @@
* pass additional arguments using sigc::bind(). If the thread was created
* successfully, it is returned.
*
+ * Because sigc::trackable is not thread safe, if the slot represents a
+ * non-static class method (that is, it is created by sigc::mem_fun()), the
+ * class concerned should not derive from sigc::trackable.
+ *
* @note It is not guaranteed, that threads with different priorities really
* behave accordingly. On some systems (e.g. Linux) only root can increase
* priorities. On other systems (e.g. Solaris) there doesn't seem to be
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]