Commit 335d3bfe authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#5248

parent 21b46054
......@@ -2,6 +2,7 @@ OpenLDAP 2.4 Change Log
OpenLDAP 2.4.8 Engineering
Fixed slapd include handling (ITS#5276)
Fixed slapd non-atomic signal variables (ITS#5248)
Fixed libldap_r threaded library linking (ITS#4982)
Documentation
DB_CONFIG.example URL wrong in comments (ITS#5288)
......
......@@ -149,8 +149,8 @@ static struct tool_ctrls_t {
};
/* "features" */
static int gotintr;
static int abcan;
enum { Intr_None = 0, Intr_Abandon, Intr_Cancel, Intr_Ignore };
static volatile sig_atomic_t gotintr, abcan;
#ifdef LDAP_CONTROL_X_SESSION_TRACKING
......@@ -558,19 +558,19 @@ tool_args( int argc, char **argv )
/* this shouldn't go here, really; but it's a feature... */
} else if ( strcasecmp( control, "abandon" ) == 0 ) {
abcan = LDAP_REQ_ABANDON;
abcan = Intr_Abandon;
if ( crit ) {
gotintr = abcan;
}
} else if ( strcasecmp( control, "cancel" ) == 0 ) {
abcan = LDAP_REQ_EXTENDED;
abcan = Intr_Cancel;
if ( crit ) {
gotintr = abcan;
}
} else if ( strcasecmp( control, "ignore" ) == 0 ) {
abcan = -1;
abcan = Intr_Ignore;
if ( crit ) {
gotintr = abcan;
}
......@@ -746,7 +746,7 @@ tool_args( int argc, char **argv )
case 'P':
ival = strtol( optarg, &next, 10 );
if ( next == NULL || next[0] != '\0' ) {
fprintf( stderr, "%s: unabel to parse protocol version \"%s\"\n", prog, optarg );
fprintf( stderr, "%s: unable to parse protocol version \"%s\"\n", prog, optarg );
exit( EXIT_FAILURE );
}
switch( ival ) {
......@@ -1720,19 +1720,19 @@ tool_check_abandon( LDAP *ld, int msgid )
int rc;
switch ( gotintr ) {
case LDAP_REQ_EXTENDED:
case Intr_Cancel:
rc = ldap_cancel_s( ld, msgid, NULL, NULL );
fprintf( stderr, "got interrupt, cancel got %d: %s\n",
rc, ldap_err2string( rc ) );
return -1;
case LDAP_REQ_ABANDON:
case Intr_Abandon:
rc = ldap_abandon_ext( ld, msgid, NULL, NULL );
fprintf( stderr, "got interrupt, abandon got %d: %s\n",
rc, ldap_err2string( rc ) );
return -1;
case -1:
case Intr_Ignore:
/* just unbind, ignoring the request */
return -1;
}
......
......@@ -32,7 +32,7 @@
#include "slapcommon.h"
#include "ldif.h"
static int gotsig;
static volatile sig_atomic_t gotsig;
static RETSIGTYPE
slapcat_sig( int sig )
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment