@ -71,6 +71,7 @@ imap://server/folder/
# include <signal.h>
# include <sys/types.h>
# include <sys/wait.h>
# include <errno.h>
# ifdef HAVE_LIBSASL2
extern " C " {
@ -147,6 +148,10 @@ kdemain (int argc, char **argv)
void
sigchld_handler ( int signo )
{
// A signal handler that calls for example waitpid has to save errno
// before and restore it afterwards.
// (cf. https://www.securecoding.cert.org/confluence/display/cplusplus/ERR32-CPP.+Do+not+rely+on+indeterminate+values+of+errno)
const int save_errno = errno ;
int pid , status ;
while ( signo = = SIGCHLD )
@ -158,9 +163,11 @@ sigchld_handler (int signo)
// the signal occurred ( BSD handles it different, but it should do
// no harm ).
signal ( SIGCHLD , sigchld_handler ) ;
return ;
break ;
}
}
errno = save_errno ;
}
IMAP4Protocol : : IMAP4Protocol ( const TQCString & pool , const TQCString & app , bool isSSL ) : TCPSlaveBase ( ( isSSL ? 993 : 143 ) ,