socsvn commit: r239587 - in soc2012/gmiller/locking-head: . include
lib/libwitness
gmiller at FreeBSD.org
gmiller at FreeBSD.org
Thu Jul 19 20:11:10 UTC 2012
Author: gmiller
Date: Thu Jul 19 20:11:07 2012
New Revision: 239587
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=239587
Log:
r239627 at FreeBSD-dev: root | 2012-07-15 10:17:50 -0500
Implement pthread_setname_np().
Modified:
soc2012/gmiller/locking-head/ (props changed)
soc2012/gmiller/locking-head/include/pthread_np.h
soc2012/gmiller/locking-head/lib/libwitness/lockinfo.c
soc2012/gmiller/locking-head/lib/libwitness/witness.h
Modified: soc2012/gmiller/locking-head/include/pthread_np.h
==============================================================================
--- soc2012/gmiller/locking-head/include/pthread_np.h Thu Jul 19 19:57:23 2012 (r239586)
+++ soc2012/gmiller/locking-head/include/pthread_np.h Thu Jul 19 20:11:07 2012 (r239587)
@@ -70,6 +70,7 @@
struct pthread_lockorder_np {
struct _pthread_lockorder_private *_pvt;
+ void *lock;
};
typedef void (*pthread_switch_routine_t)(pthread_t, pthread_t);
Modified: soc2012/gmiller/locking-head/lib/libwitness/lockinfo.c
==============================================================================
--- soc2012/gmiller/locking-head/lib/libwitness/lockinfo.c Thu Jul 19 19:57:23 2012 (r239586)
+++ soc2012/gmiller/locking-head/lib/libwitness/lockinfo.c Thu Jul 19 20:11:07 2012 (r239587)
@@ -47,6 +47,7 @@
info->lock = lock;
info->child = NULL;
info->sibling = NULL;
+ info->name = NULL;
SLIST_INIT(&info->bless_head);
SLIST_INSERT_HEAD(&lock_info_head, info, lock_info_next);
}
@@ -87,6 +88,21 @@
SLIST_REMOVE_HEAD(&lock_info_head, lock_info_next);
+ if (info->name != NULL) {
+ free(info->name);
+ }
free(info);
}
}
+
+void
+pthread_setname_np(void *lock, const char *name)
+{
+ struct lock_info *info;
+
+ info = lookup_lock(lock);
+ if (info->name != NULL) {
+ info->name = realloc(info->name, strlen(name) + 1);
+ strcpy(info->name, name);
+ }
+}
Modified: soc2012/gmiller/locking-head/lib/libwitness/witness.h
==============================================================================
--- soc2012/gmiller/locking-head/lib/libwitness/witness.h Thu Jul 19 19:57:23 2012 (r239586)
+++ soc2012/gmiller/locking-head/lib/libwitness/witness.h Thu Jul 19 20:11:07 2012 (r239587)
@@ -31,6 +31,7 @@
#include <pthread.h>
#include <pthread_np.h>
#include <stdlib.h>
+#include <string.h>
struct blessing {
SLIST_ENTRY(blessing) bless_next;
@@ -44,6 +45,7 @@
struct lock_info *child;
struct lock_info *sibling;
SLIST_HEAD(bless_head, blessing) bless_head;
+ char *name;
};
extern pthread_mutex_t witness_mtx;
More information about the svn-soc-all
mailing list