summaryrefslogtreecommitdiff
path: root/usr/src/lib/print/libpapi-dynamic
diff options
context:
space:
mode:
authorjacobs <none@none>2006-10-16 12:44:25 -0700
committerjacobs <none@none>2006-10-16 12:44:25 -0700
commit62d876e79d199d6a57e256b10da194220541faa8 (patch)
treec81fdd79b06468f9b44be523716295eff5819fd0 /usr/src/lib/print/libpapi-dynamic
parent4f1d42a600ed3a4b7917d29000a8dcea9339852e (diff)
downloadillumos-gate-62d876e79d199d6a57e256b10da194220541faa8.tar.gz
6480516 libpapi.so leaks file descriptors
Diffstat (limited to 'usr/src/lib/print/libpapi-dynamic')
-rw-r--r--usr/src/lib/print/libpapi-dynamic/common/service.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr/src/lib/print/libpapi-dynamic/common/service.c b/usr/src/lib/print/libpapi-dynamic/common/service.c
index 9d441af90d..b6a9ecf786 100644
--- a/usr/src/lib/print/libpapi-dynamic/common/service.c
+++ b/usr/src/lib/print/libpapi-dynamic/common/service.c
@@ -182,6 +182,9 @@ service_connect(service_t *svc, char *name)
if (svc->so_handle != NULL) {
papi_status_t (*f)();
+ if (svc->svc_handle != NULL) /* already connected? */
+ return (PAPI_OK);
+
f = (papi_status_t (*)())psm_sym(svc, "papiServiceCreate");
if (f != NULL) {