1. 22 Dec, 2010 1 commit
  2. 05 Jun, 2009 1 commit
    • thread-utils.h: Avoid using a non-standard C construct · 3e0fb8fb
      In particular, in standard C, a struct or union must have at
      least one member declared (ie. structs and unions cannot be
      empty). Some compilers allow empty structs as an extension
      and won't even issue a warning unless asked for it (eg, gcc
      requires -pedantic). Some compilers allow empty structs as
      an extension and will only treat it as an error if asked for
      strict checking (eg Digital-Mars with -A). Some compilers
      simply treat it as an error (eg MS Visual C/C++).
      
      Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Ramsay Jones committed
  3. 03 Jan, 2009 2 commits
  4. 31 Dec, 2008 1 commit
  5. 18 Nov, 2008 1 commit
    • Add compiler/platform agnostic thread-local storage · 36f0f61f
      It doesn't cover all cases, but we can work on those as
      we go along. For now, gcc, MSVC++, Intel C/C++, IBM XL C/C++,
      Sun Studio C/C++ and Borland C++ Builder are the supported
      compilers (although we boldly assume that they all are of
      a recent enough version to support thread-local storage).
      
      This is intended to be used in upcoming patches that implement
      graceful (but TLS-dependant) error-handling in the library.
      
      As an added bonus, we also bring the online_cpus() function
      from git.git to detect the number of usable cpu's.
      
      Signed-off-by: Andreas Ericsson <ae@op5.se>
      Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
      Andreas Ericsson committed