All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Don't exit() from library
@ 2014-03-11  6:10 Ritesh Raj Sarraf
  2014-03-11  8:45 ` Bart Van Assche
  0 siblings, 1 reply; 3+ messages in thread
From: Ritesh Raj Sarraf @ 2014-03-11  6:10 UTC (permalink / raw)
  To: christophe.varoqui; +Cc: Ritesh Raj Sarraf, dm-devel

Also call pthread_attr_destroy() on thread creation failure

Signed-off-by: Ritesh Raj Sarraf <rrs@debian.org>
---
 libmpathpersist/mpath_persist.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c
index bd30125..b74ce4e 100644
--- a/libmpathpersist/mpath_persist.c
+++ b/libmpathpersist/mpath_persist.c
@@ -585,11 +585,14 @@ int send_prout_activepath(char * dev, int rq_servact, int rq_scope,
 	rc = pthread_create(&thread, &attr, mpath_prout_pthread_fn, (void *)(&param));
 	if (rc){
 		condlog (3, "%s: failed to create thread %d", dev, rc);
-		exit(-1);
+		/* Destroy the thread attribute since we failed to create */
+		pthread_attr_destroy(&attr);
+	}
+	else {
+		/* Free attribute and wait for the other threads */
+		pthread_attr_destroy(&attr);
+		rc = pthread_join(thread, NULL);
 	}
-	/* Free attribute and wait for the other threads */
-	pthread_attr_destroy(&attr);
-	rc = pthread_join(thread, NULL);
 
 	return (param.status);
 }
-- 
1.9.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-03-11 14:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-11  6:10 [PATCH] Don't exit() from library Ritesh Raj Sarraf
2014-03-11  8:45 ` Bart Van Assche
2014-03-11 14:52   ` Ritesh Raj Sarraf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.