summaryrefslogtreecommitdiff
path: root/usr/src/lib/libproject/common/setproject.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libproject/common/setproject.c')
-rw-r--r--usr/src/lib/libproject/common/setproject.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/usr/src/lib/libproject/common/setproject.c b/usr/src/lib/libproject/common/setproject.c
index 2303576d32..d22878a36f 100644
--- a/usr/src/lib/libproject/common/setproject.c
+++ b/usr/src/lib/libproject/common/setproject.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -20,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -536,7 +535,12 @@ setproject_proc(const char *project_name, const char *user_name, int flags,
}
old_pool_name = pool_get_binding(pid);
- if (bind_to_pool(pool_name, pid, 0) != 0) {
+
+ /*
+ * If parent is not bound to the default pool, then we want
+ * to preserve same binding as parent.
+ */
+ if (pool_name != NULL && bind_to_pool(pool_name, pid, 0) != 0) {
if (old_pool_name)
free(old_pool_name);
_kva_free(kv_array);