Clarified threading issues
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index 4a9d0ef..bd12343 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -674,6 +674,8 @@
* \def POLARSSL_THREADING_DUMMY
*
* Provide a dummy threading implementation.
+ * Warning: If you use this, all claims of thread-safety in the documentation
+ * are void!
*
* Requires: POLARSSL_THREADING_C
*
diff --git a/include/polarssl/ecdsa.h b/include/polarssl/ecdsa.h
index 2de3b68..4a29ac6 100644
--- a/include/polarssl/ecdsa.h
+++ b/include/polarssl/ecdsa.h
@@ -88,6 +88,7 @@
/**
* \brief Compute ECDSA signature and write it to buffer,
* serialized as defined in RFC 4492 page 20.
+ * (Not thread-safe to use same context in multiple threads)
*
* \param ctx ECDSA context
* \param hash Message hash
diff --git a/include/polarssl/ecp.h b/include/polarssl/ecp.h
index 94618e7..dec4e0a 100644
--- a/include/polarssl/ecp.h
+++ b/include/polarssl/ecp.h
@@ -450,6 +450,7 @@
/**
* \brief Multiplication by an integer: R = m * P
+ * (Not thread-safe to use same group in multiple threads)
*
* \param grp ECP group
* \param R Destination point
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index fb9a40c..cf18ea7 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -789,6 +789,7 @@
/**
* \brief Initialize an SSL context
+ * (An individual SSL context is not thread-safe)
*
* \param ssl SSL context
*
diff --git a/include/polarssl/threading.h b/include/polarssl/threading.h
index 4afaeea..ceb1277 100644
--- a/include/polarssl/threading.h
+++ b/include/polarssl/threading.h
@@ -56,7 +56,7 @@
* \brief Set your alternate threading implementation function
* pointers
*
- * \param mutex_init the malloc function implementation
+ * \param mutex_init the init function implementation
* \param mutex_free the free function implementation
* \param mutex_lock the lock function implementation
* \param mutex_unlock the unlock function implementation
@@ -71,6 +71,8 @@
/*
* The function pointers for mutex_init, mutex_free, mutex_ and mutex_unlock
+ *
+ * All these functions are expected to work or the result will be undefined.
*/
extern int (*polarssl_mutex_init)( threading_mutex_t *mutex );
extern int (*polarssl_mutex_free)( threading_mutex_t *mutex );