Browse Source

Merge trunk revision 2949:
r2949 | sdake | 2010-06-18 17:10:41 -0700 (Fri, 18 Jun 2010) | 2 lines

Unlock global serializer lock during shutdown.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/branches/flatiron@2952 fd59a12c-fef9-0310-b244-a6a79926bd2f

Steven Dake 15 years ago
parent
commit
78e338f3d9
1 changed files with 9 additions and 0 deletions
  1. 9 0
      exec/main.c

+ 9 - 0
exec/main.c

@@ -136,6 +136,8 @@ static pthread_t corosync_exit_thread;
 
 static sem_t corosync_exit_sem;
 
+static void serialize_unlock (void);
+
 hdb_handle_t corosync_poll_handle_get (void)
 {
 	return (corosync_poll_handle);
@@ -154,6 +156,13 @@ void corosync_state_dump (void)
 
 static void unlink_all_completed (void)
 {
+	/*
+	 * The schedwrk_do API takes the global serializer lock
+	 * but doesn't release it because this exit callback is called
+	 * before it finishes.  Since we know we are exiting, we unlock it
+	 * here
+	 */
+	serialize_unlock ();
 	poll_stop (corosync_poll_handle);
 	totempg_finalize ();