(file) Return to PAMBasicAuthenticatorUnix.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Security / Authentication

Diff for /pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp between version 1.14.4.3 and 1.14.4.4

version 1.14.4.3, 2004/04/24 01:38:15 version 1.14.4.4, 2004/04/28 17:40:45
Line 479 
Line 479 
     }     }
     if (continue_PAMauthentication)     if (continue_PAMauthentication)
     {     {
   #if defined (PEGASUS_OS_HPUX)
           /*
           From signal manpage on Linux:
           "  According  to  POSIX  (3.3.1.3)  it  is  unspecified  what happens when
          SIGCHLD is set to SIG_IGN.  Here the BSD and  SYSV  behaviours  differ,
          causing  BSD  software  that  sets the action for SIGCHLD to SIG_IGN to
          fail on Linux."
   
           On Linux, when you perform a "system" it calls wait().  If you have ignored
           SIGCHLD, a POSIX-conformant system is allowed to collect zombies immediately
           rather than holding them for you to wait for. And you end up with "system"
           returning non-zero return code instead of zero return code for sucessfull
           calls.
   
           HP-UX being a SYSV system behaves differently.
           */
   
         SignalHandler::ignore(PEGASUS_SIGCHLD);  // Allows child death         SignalHandler::ignore(PEGASUS_SIGCHLD);  // Allows child death
   #endif
         if ((pid = fork()) < 0)         if ((pid = fork()) < 0)
         {         {
             continue_PAMauthentication = false;             continue_PAMauthentication = false;


Legend:
Removed from v.1.14.4.3  
changed lines
  Added in v.1.14.4.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2