summaryrefslogtreecommitdiff
path: root/src/interfaces/libpq/fe-secure.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2013-08-17 21:46:32 -0400
committerPeter Eisentraut <peter_e@gmx.net>2013-08-17 21:52:24 -0400
commitb94c6c691e86a1d9c2a98e935f661c95924d8f37 (patch)
treed27b6c73127964e8c19b82f304ce85e3bb522208 /src/interfaces/libpq/fe-secure.c
parentcbb565f7c397fa8a74b214e1765ed9db66c3d8a4 (diff)
libpq: Report strerror on pthread_mutex_lock() failure
Diffstat (limited to 'src/interfaces/libpq/fe-secure.c')
-rw-r--r--src/interfaces/libpq/fe-secure.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c
index ba063a09ce1..2ff229c6833 100644
--- a/src/interfaces/libpq/fe-secure.c
+++ b/src/interfaces/libpq/fe-secure.c
@@ -257,14 +257,18 @@ pqsecure_open_client(PGconn *conn)
/* First time through? */
if (conn->ssl == NULL)
{
+#ifdef ENABLE_THREAD_SAFETY
+ int rc;
+#endif
+
/* We cannot use MSG_NOSIGNAL to block SIGPIPE when using SSL */
conn->sigpipe_flag = false;
#ifdef ENABLE_THREAD_SAFETY
- if (pthread_mutex_lock(&ssl_config_mutex))
+ if ((rc = pthread_mutex_lock(&ssl_config_mutex)))
{
printfPQExpBuffer(&conn->errorMessage,
- libpq_gettext("unable to acquire mutex\n"));
+ libpq_gettext("could not acquire mutex: %s\n"), strerror(rc));
return PGRES_POLLING_FAILED;
}
#endif
@@ -1116,10 +1120,12 @@ initialize_SSL(PGconn *conn)
* SSL_context struct.
*/
#ifdef ENABLE_THREAD_SAFETY
- if (pthread_mutex_lock(&ssl_config_mutex))
+ int rc;
+
+ if ((rc = pthread_mutex_lock(&ssl_config_mutex)))
{
printfPQExpBuffer(&conn->errorMessage,
- libpq_gettext("unable to acquire mutex\n"));
+ libpq_gettext("could not acquire mutex: %s\n"), strerror(rc));
return -1;
}
#endif
@@ -1334,10 +1340,12 @@ initialize_SSL(PGconn *conn)
X509_STORE *cvstore;
#ifdef ENABLE_THREAD_SAFETY
- if (pthread_mutex_lock(&ssl_config_mutex))
+ int rc;
+
+ if ((rc = pthread_mutex_lock(&ssl_config_mutex)))
{
printfPQExpBuffer(&conn->errorMessage,
- libpq_gettext("unable to acquire mutex\n"));
+ libpq_gettext("could not acquire mutex: %s\n"), strerror(rc));
return -1;
}
#endif