[Cmake-commits] [cmake-commits] hoffman committed Glob.cxx 1.13 1.13.10.1 Glob.hxx.in 1.7 1.7.10.1 ProcessUNIX.c 1.71.2.2 1.71.2.3

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Sep 3 09:43:21 EDT 2008


Update of /cvsroot/CMake/CMake/Source/kwsys
In directory public:/mounts/ram/cvs-serv18450/Source/kwsys

Modified Files:
      Tag: CMake-2-6
	Glob.cxx Glob.hxx.in ProcessUNIX.c 
Log Message:
ENH: 2.6.2 rc 2 merge from main tree


Index: Glob.hxx.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/Glob.hxx.in,v
retrieving revision 1.7
retrieving revision 1.7.10.1
diff -C 2 -d -r1.7 -r1.7.10.1
*** Glob.hxx.in	16 Aug 2007 11:38:47 -0000	1.7
--- Glob.hxx.in	3 Sep 2008 13:43:19 -0000	1.7.10.1
***************
*** 58,61 ****
--- 58,68 ----
    bool GetRecurse() { return this->Recurse; }
  
+   //! Set recurse through symlinks to true if recursion should traverse the
+   // linked-to directories
+   void RecurseThroughSymlinksOn() { this->SetRecurseThroughSymlinks(true); }
+   void RecurseThroughSymlinksOff() { this->SetRecurseThroughSymlinks(false); }
+   void SetRecurseThroughSymlinks(bool i) { this->RecurseThroughSymlinks = i; }
+   bool GetRecurseThroughSymlinks() { return this->RecurseThroughSymlinks; }
+ 
    //! Set relative to true to only show relative path to files.
    void SetRelative(const char* dir);
***************
*** 91,94 ****
--- 98,102 ----
    bool Recurse;
    kwsys_stl::string Relative;
+   bool RecurseThroughSymlinks;
  
  private:

Index: ProcessUNIX.c
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/ProcessUNIX.c,v
retrieving revision 1.71.2.2
retrieving revision 1.71.2.3
diff -C 2 -d -r1.71.2.2 -r1.71.2.3
*** ProcessUNIX.c	15 May 2008 19:40:00 -0000	1.71.2.2
--- ProcessUNIX.c	3 Sep 2008 13:43:19 -0000	1.71.2.3
***************
*** 771,775 ****
      }
  
! #if !KWSYSPE_USE_SELECT
    if(!kwsysProcessSetNonBlocking(p[0]))
      {
--- 771,776 ----
      }
  
!   /* Set to non-blocking in case select lies, or for the polling
!      implementation.  */
    if(!kwsysProcessSetNonBlocking(p[0]))
      {
***************
*** 778,782 ****
      return;
      }
- #endif
    }
  
--- 779,782 ----
***************
*** 831,842 ****
        }
  
! #if !KWSYSPE_USE_SELECT
!     /* Set the output pipe of the last process to be non-blocking so
!        we can poll it.  */
!     if(i == cp->NumberOfCommands-1 && !kwsysProcessSetNonBlocking(readEnd))
        {
        failed = 1;
        }
- #endif
  
      if(failed)
--- 831,840 ----
        }
  
!     /* Set the output pipe of the last process to be non-blocking in
!        case select lies, or for the polling implementation.  */
!     if(i == (cp->NumberOfCommands-1) && !kwsysProcessSetNonBlocking(readEnd))
        {
        failed = 1;
        }
  
      if(failed)
***************
*** 1058,1061 ****
--- 1056,1064 ----
            }
          }
+       else if(n < 0 && errno == EAGAIN)
+         {
+         /* No data are really ready.  The select call lied.  See the
+            "man select" page on Linux for cases when this occurs.  */
+         }
        else
          {

Index: Glob.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/Glob.cxx,v
retrieving revision 1.13
retrieving revision 1.13.10.1
diff -C 2 -d -r1.13 -r1.13.10.1
*** Glob.cxx	21 Aug 2007 19:30:07 -0000	1.13
--- Glob.cxx	3 Sep 2008 13:43:19 -0000	1.13.10.1
***************
*** 64,67 ****
--- 64,71 ----
    this->Recurse = false;
    this->Relative = "";
+ 
+   this->RecurseThroughSymlinks = true;
+     // RecurseThroughSymlinks is true by default for backwards compatibility,
+     // not because it's a good idea...
  }
  
***************
*** 263,267 ****
      if ( kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
        {
!       this->RecurseDirectory(start+1, realname, dir_only);
        }
      }
--- 267,275 ----
      if ( kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
        {
!       if (!kwsys::SystemTools::FileIsSymlink(realname.c_str()) ||
!         this->RecurseThroughSymlinks)
!         {
!         this->RecurseDirectory(start+1, realname, dir_only);
!         }
        }
      }



More information about the Cmake-commits mailing list