[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#6137) Cancel(pending operation) acts like Abandon



Full_Name: Hallvard B Furuseth
Version: HEAD
OS: 
URL: 
Submission from: (NULL) (129.240.6.233)
Submitted by: hallvard


Looking at the code (not sure how to reproduce):

Cancel(pending operation) abandons the operation, without responding to
either Cancel or the cancelled operation.  That code in slapd/cancel.c
is copied from the equivalent abandon.c code.

Cancel as currently written must wait for the cancelled operation to
complete.  But an active operation must not wait for a pending one,
all threads could block.  For now we can make Cancel respond with

   LDAP_CANNOT_CANCEL: "can't handle Cancel now, try Abandon".

Repeating myself, a better fix (RE25?) would be to make the cancelled
operation send the Cancel response.  Don't how deep surgery that'd need
to slapd.