From: Guolin Yang <gy...@nicira.com>

In monitor_daemon(), it set subprogram_name to "" which causes
system crash in some platform. This change set subprogram name
to program name.

Signed-off-by: Guolin Yang <gy...@nicira.com>
---
Based on Ben's comments, only set pthread's subprogram name to non empty
---
 lib/util.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/util.c b/lib/util.c
index 3cada4a..b800455 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -405,13 +405,14 @@ get_subprogram_name(void)
 void
 set_subprogram_name(const char *name)
 {
+    const char *pname = name[0] ? name : program_name;
     free(subprogram_name_set(xstrdup(name)));
 #if HAVE_GLIBC_PTHREAD_SETNAME_NP
-    pthread_setname_np(pthread_self(), name);
+    pthread_setname_np(pthread_self(), pname);
 #elif HAVE_NETBSD_PTHREAD_SETNAME_NP
-    pthread_setname_np(pthread_self(), "%s", name);
+    pthread_setname_np(pthread_self(), "%s", pname);
 #elif HAVE_PTHREAD_SET_NAME_NP
-    pthread_set_name_np(pthread_self(), name);
+    pthread_set_name_np(pthread_self(), pname);
 #endif
 }
 
-- 
1.7.9.5

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to