1. 01 Dec, 2009 1 commit
    • Brad King's avatar
      KWSys: Use "ps -Af" for process list on QNX · 5f7195d1
      Brad King authored
      In order to kill process trees we need to list all processes to find
      those whose parent we are killing.  We implement process listing on QNX
      using "ps -Af" and parsing the resulting format:
        UID        PID       PPID  C STIME TTY          TIME CMD
        %*d         %d         %d  %*[^\n]\n
  2. 30 Nov, 2009 2 commits
    • Brad King's avatar
      KWSys: Fix process tree kill on 64-bit Windows · b8b6840c
      Brad King authored
      We enumerate processes to identify those whose parent is being killed so
      that we can recursively kill the children.  Enumeration uses the
      Process32(First|Next) windows API functions, which accept PROCESSENTRY32
      objects to be filled.  This commit corrects the declaration of the entry
      structure to account for its size on 64-bit Windows.
    • Brad King's avatar
      KWSys: Restore SIGSTOP/SIGKILL to end process tree · 2988287a
      Brad King authored
      On UNIX systems we kill a tree of processes by performing a DFS walk of
      the tree.  We send SIGSTOP to each process encountered, recursively
      handle its children, and then send SIGKILL.
      We once used the above approach in the past, but it was removed by the
      commit "Do not send both SIGSTOP and SIGKILL when killing a process".
      The commit was meant to work-around an OS X 10.3 bug in which the child
      would not always honor SIGKILL after SIGSTOP.  At the time we wrongly
      assumed that the process tree remains intact after SIGKILL and before
      the child is reaped.  In fact the grandchildren may be re-parented to
      ppid=1 even before the child is reaped, which causes the DFS walk to
      miss them.
  3. 24 Nov, 2009 2 commits
  4. 23 Nov, 2009 1 commit
  5. 20 Nov, 2009 5 commits
    • Brad King's avatar
      KWSys: Set CMP0003 to NEW · 359775b9
      Brad King authored
      The commit "Enable loose loop constructs in KWSys" set the minimum
      required CMake version to 2.4.5.  This regressed the setting of CMP0003,
      so we restore it in this commit.
    • Brad King's avatar
      Fix KWSys FundamentalType for Universal Binaries · bf7f0ddc
      Brad King authored
      The FundamentalType header needs to know type sizes at preprocessing
      time.  This commit teaches it to avoid using CHECK_TYPE_SIZE because the
      macro does not work for types whose size varies across architectuers in
      Mac OS X universal binaries.  Fortunately the Mac compilers provide just
      enough information to detect the needed type sizes during preprocessing.
      We now use preprocessor macros instead of configuration tests whenever
      they are available.  As a side effect this reduces the number of
      try-compiles needed with GCC.
      See issue #9913.
    • Brad King's avatar
      Create KWSYS_PLATFORM_INFO_TEST macro · 4e6c4519
      Brad King authored
      This macro helps KWSys perform try-compile tests that extract 'INFO'
      strings out of compiled binaries.  It works for CMake 2.6 and above.
      On CMake 2.4 it always returns an empty list of information values,
      so this should be used only as an optimization until 2.6 is required.
    • Brad King's avatar
      Check for 'long long' without computing size · 9782e865
      Brad King authored
      In KWSys IOStream we need to detect whether 'long long' exists but we do
      not need its size.  We avoid using CHECK_TYPE_SIZE because it does not
      work for types whose size varies across architectuers in Mac OS X
      universal binaries.  See issue #9913.
    • Brad King's avatar
      Enable loose loop constructs in KWSys · daaaeb0f
      Brad King authored
      We set CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS in KWSys's CMakeLists.txt file
      to enable simpler endif() syntax for CMake 2.4.
  6. 18 Nov, 2009 1 commit
    • David Cole's avatar
      Fix bogus calls to GetMemoryStatus and GetMemoryStatusEx: need to set the... · 22b9bef4
      David Cole authored
      Fix bogus calls to GetMemoryStatus and GetMemoryStatusEx: need to set the dwLength member of the struct prior to calling. Otherwise it's just a garbage value from the stack. Also, pay attention to return value of GetMemoryStatusEx: if it indicates failure then just return 0 without using any of the other data the call returns.
  7. 16 Nov, 2009 2 commits
  8. 15 Nov, 2009 1 commit
  9. 19 Oct, 2009 1 commit
  10. 16 Oct, 2009 2 commits
  11. 09 Oct, 2009 1 commit
  12. 08 Oct, 2009 1 commit
  13. 06 Oct, 2009 2 commits
  14. 30 Sep, 2009 1 commit
  15. 28 Sep, 2009 2 commits
    • Brad King's avatar
      Convert KWSys to OSI-approved BSD License · 62db264e
      Brad King authored
      This converts the KWSys license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the KWSys copyright to
      cover the full development time range.
    • Brad King's avatar
      Install KWSys Copyright.txt as documentation · 1fb49641
      Brad King authored
      This commit adds KWSys configuration option KWSYS_INSTALL_DOC_DIR to
      specify the directory for installation of documentation.  We use it to
      put the KWSys Copyright.txt file at the location
      in the project installation tree.  This helps containing projects meet
      the license requirement to distribute the copyright and license with
      binary forms.
  16. 25 Sep, 2009 1 commit
  17. 24 Sep, 2009 1 commit
    • Brad King's avatar
      Restore KWSys SystemTools _WIN32 state on cygwin · f71bac73
      Brad King authored
      The commit "Fix KWSys SystemTools build on cygwin with -mwin32" tried to
      restore the state of the _WIN32 definition that was broken by the commit
      "Optimize KWSys SystemTools::FileExists on Windows".  It did so for the
      case of building with -mwin32 on cygwin, but since including <windows.h>
      defines _WIN32, it failed for the case of not using -mwin32.
      This commit restores the state of _WIN32 in all cases by undefining it
      after including <windows.h> if it was not defined beforehand.
  18. 23 Sep, 2009 1 commit
    • Brad King's avatar
      Fix KWSys SystemTools build on cygwin with -mwin32 · 853959a4
      Brad King authored
      Commit "Optimize KWSys SystemTools::FileExists on Windows" accidentally
      added "#undef _WIN32" when including <windows.h> on cygwin, which breaks
      builds using the -mwin32 flag.  This commit removes that line and fixes
      the real error it was intended to avoid.
  19. 22 Sep, 2009 4 commits
  20. 14 Sep, 2009 1 commit
  21. 03 Sep, 2009 1 commit
    • Brad King's avatar
      COMP: Silence useless Borland inlining warning · f3beae21
      Brad King authored
      KWSys tries not to force anything on source files that include its
      headers, but Borland warning 8027 leaves us no choice when we want to
      have inline function definitions.  This commit disables the warning for
      the RegularExpression header and any file that includes it.
  22. 31 Aug, 2009 1 commit
    • Brad King's avatar
      Define kwsys_ios_binary macro for std::ios::binary · 9350c584
      Brad King authored
      The 'binary' openmode does not exist on all compilers.  We define macro
      <kwsys>_ios_binary, where <kwsys> is the KWSys namespace, to refer to
      std::ios::binary if it exists and 0 otherwise.  Sample usage:
        kwsys_ios::ifstream fin(fn, kwsys_ios::ios::in | kwsys_ios_binary);
  23. 06 Aug, 2009 1 commit
  24. 27 Jul, 2009 1 commit
  25. 26 Jul, 2009 1 commit
  26. 24 Jul, 2009 1 commit
  27. 13 Jul, 2009 1 commit