ovs-thread: Add a comment.
authorBen Pfaff <blp@nicira.com>
Fri, 7 Feb 2014 01:06:00 +0000 (17:06 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 7 Feb 2014 16:29:38 +0000 (08:29 -0800)
Reported-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/ovs-thread.h

index 8cf2ecc..f031894 100644 (file)
@@ -444,9 +444,15 @@ void xpthread_join(pthread_t, void **);
  * (by recompiling).  Thus, one may more freely use this form of
  * thread-specific data.
  *
- * Compared to pthread_key_t, ovsthread_key_t has the follow limitations:
+ * ovsthread_key_t also differs from pthread_key_t in the following ways:
  *
  *    - Destructors must not access thread-specific data (via ovsthread_key).
+ *
+ *    - The pthread_key_t API allows concurrently exiting threads to start
+ *      executing the destructor after pthread_key_delete() returns.  The
+ *      ovsthread_key_t API guarantees that, when ovsthread_key_delete()
+ *      returns, all destructors have returned and no new ones will start
+ *      execution.
  */
 typedef struct ovsthread_key *ovsthread_key_t;