Browse Source

Document that libaria2 is not thread safe

Tatsuhiro Tsujikawa 9 years ago
parent
commit
9d58ad912a
1 changed files with 8 additions and 6 deletions
  1. 8 6
      doc/manual-src/en/libaria2.rst

+ 8 - 6
doc/manual-src/en/libaria2.rst

@@ -54,12 +54,14 @@ And create aria2 session object::
 :type:`Session` ``session`` is an aria2 session object. You need this
 :type:`Session` ``session`` is an aria2 session object. You need this
 object through out the download process. Please keep in mind that only
 object through out the download process. Please keep in mind that only
 one :type:`Session` object can be allowed per process due to the heavy
 one :type:`Session` object can be allowed per process due to the heavy
-use of static objects in aria2 code base. :type:`SessionConfig`
-``config`` holds configuration for the session object. The constructor
-initializes it with the default values. In this setup,
-:member:`SessionConfig::keepRunning` is ``false`` which means
-:func:`run()` returns when all downloads are processed, just like
-aria2c utility without RPC enabled.  And
+use of static objects in aria2 code base.  :type:`Session` object is
+not safe for concurrent accesses from multiple threads.  It must be
+used from one thread at a time.  In general, libaria2 is not entirely
+thread-safe.  :type:`SessionConfig` ``config`` holds configuration for
+the session object. The constructor initializes it with the default
+values. In this setup, :member:`SessionConfig::keepRunning` is
+``false`` which means :func:`run()` returns when all downloads are
+processed, just like aria2c utility without RPC enabled.  And
 :member:`SessionConfig::useSignalHandler` is ``true``, which means
 :member:`SessionConfig::useSignalHandler` is ``true``, which means
 libaria2 will setup signal handlers and catches certain signals to
 libaria2 will setup signal handlers and catches certain signals to
 halt download process gracefully. We also setup event handler callback
 halt download process gracefully. We also setup event handler callback