Code

Imported upstream version 1.4~rc2.
[pkg-rrdtool.git] / doc / rrdthreads.txt
index 678f4dfab64e92941c44ec1a843e38d1b3caa99a..21ed7927095c35df76f18ebdd053e4f11c3e2b2f 100644 (file)
@@ -7,12 +7,11 @@ N\bNA\bAM\bME\bE
        multi-threaded programs
 
 S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
-       Using librrd in multi-threaded programs requires some extra
-       precautions, as the RRD library in its original form was not thread-
-       safe at all. This document describes requirements and pitfalls on the
-       way to use the multi-threaded version of librrd in your own programs.
-       It also gives hints for future RRD development to keep the library
-       thread-safe.
+       Using librrd in multi-threaded programs requires some extra precau-
+       tions, as the RRD library in its original form was not thread-safe at
+       all. This document describes requirements and pitfalls on the way to
+       use the multi-threaded version of librrd in your own programs. It also
+       gives hints for future RRD development to keep the library thread-safe.
 
        Currently only some RRD operations are implemented in a thread-safe
        way. They all end in the usual ""_r"" suffix.
@@ -39,20 +38,20 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
        ·   Always call "rrd_error_clear()" before any call to the library.
            Otherwise the call might fail due to some earlier error.
 
-   N\bNO\bOT\bTE\bES\bS F\bFO\bOR\bR R\bRR\bRD\bD C\bCO\bON\bNT\bTR\bRI\bIB\bBU\bUT\bTO\bOR\bRS\bS
+       N\bNO\bOT\bTE\bES\bS F\bFO\bOR\bR R\bRR\bRD\bD C\bCO\bON\bNT\bTR\bRI\bIB\bBU\bUT\bTO\bOR\bRS\bS
+
        Some precautions must be followed when developing RRD from now on:
 
        ·   Only use thread-safe functions in library code. Many often used
-           libc functions aren't thread-safe. Take care in the following
-           situations or when using the following library functions:
+           libc functions aren't thread-safe. Take care in the following situ-
+           ations or when using the following library functions:
 
-           ·   Direct calls to "strerror()" must be avoided: use
-               "rrd_strerror()" instead, it provides a per-thread error
-               message.
+           ·   Direct calls to "strerror()" must be avoided: use "rrd_str-
+               error()" instead, it provides a per-thread error message.
 
            ·   The "getpw*", "getgr*", "gethost*" function families (and some
-               more "get*" functions) are not thread-safe: use the *"_r"
-               variants
+               more "get*" functions) are not thread-safe: use the *"_r" vari-
+               ants
 
            ·   Time functions: "asctime", "ctime", "gmtime", "localtime": use
                *"_r" variants
@@ -66,8 +65,8 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
        ·   A header file named _\br_\br_\bd_\b__\bi_\bs_\b__\bt_\bh_\br_\be_\ba_\bd_\b__\bs_\ba_\bf_\be_\b._\bh is provided that works
            with the GNU C-preprocessor to "poison" some of the most common
            non-thread-safe functions using the "#pragma GCC poison" directive.
-           Just include this header in source files you want to keep thread-
-           safe.
+           Just include this header in source files you want to keep
+           thread-safe.
 
        ·   Do not introduce global variables!
 
@@ -88,16 +87,17 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
            It uses lots of global variables. You may use it in functions not
            designed to be thread-safe, like in functions wrapping the "_r"
-           version of some operation (e.g., "rrd_create", but not in
-           "rrd_create_r")
+           version of some operation (e.g., "rrd_create", but not in "rrd_cre-
+           ate_r")
+
+       C\bCU\bUR\bRR\bRE\bEN\bNT\bTL\bLY\bY I\bIM\bMP\bPL\bLE\bEM\bME\bEN\bNT\bTE\bED\bD T\bTH\bHR\bRE\bEA\bAD\bD S\bSA\bAF\bFE\bE F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
 
-   C\bCU\bUR\bRR\bRE\bEN\bNT\bTL\bLY\bY I\bIM\bMP\bPL\bLE\bEM\bME\bEN\bNT\bTE\bED\bD T\bTH\bHR\bRE\bEA\bAD\bD S\bSA\bAF\bFE\bE F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
-       Currently there exist thread-safe variants of "rrd_update",
-       "rrd_create", "rrd_dump", "rrd_info", "rrd_last", and "rrd_fetch".
+       Currently there exist thread-safe variants of "rrd_update", "rrd_cre-
+       ate", "rrd_dump", "rrd_info", "rrd_last", and "rrd_fetch".
 
 A\bAU\bUT\bTH\bHO\bOR\bR
        Peter Stamfest <peter@stamfest.at>
 
 
 
-1.3.8                             2008-06-08                     RRDTHREADS(1)
+1.3.99909060808                   2008-06-08                     RRDTHREADS(1)