svn commit: r266326 - stable/9/lib/libc/gen

Konstantin Belousov kib at FreeBSD.org
Sat May 17 16:28:29 UTC 2014


Author: kib
Date: Sat May 17 16:28:29 2014
New Revision: 266326
URL: http://svnweb.freebsd.org/changeset/base/266326

Log:
  MFC r246894 (by davidxu):
  Make more code be protected by internal mutex.

Modified:
  stable/9/lib/libc/gen/sem_new.c
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/gen/sem_new.c
==============================================================================
--- stable/9/lib/libc/gen/sem_new.c	Sat May 17 16:26:59 2014	(r266325)
+++ stable/9/lib/libc/gen/sem_new.c	Sat May 17 16:28:29 2014	(r266326)
@@ -229,18 +229,18 @@ _sem_open(const char *name, int flags, .
 	ni->open_count = 1;
 	ni->sem = sem;
 	LIST_INSERT_HEAD(&sem_list, ni, next);
-	_pthread_mutex_unlock(&sem_llock);
 	_close(fd);
+	_pthread_mutex_unlock(&sem_llock);
 	return (sem);
 
 error:
 	errsave = errno;
-	_pthread_mutex_unlock(&sem_llock);
 	if (fd != -1)
 		_close(fd);
 	if (sem != NULL)
 		munmap(sem, sizeof(sem_t));
 	free(ni);
+	_pthread_mutex_unlock(&sem_llock);
 	errno = errsave;
 	return (SEM_FAILED);
 }


More information about the svn-src-all mailing list