8906dcb Ticket 49765 - Async operations can hang when the server is running nunc-stans

Authored and Committed by tbordaz 5 years ago
    Ticket 49765 - Async operations can hang when the server is running nunc-stans
    
    Bug Description:
    	The fix https://pagure.io/389-ds-base/issue/48184 allowed to schedule
    	several NS handlers where each handler waits for the dispatch of the
    	previous handler before being schedule.
    
    	In case the current handler is never called (connection inactivity)
    	those that are waiting can wait indefinitely (until timeout or connection
    	closure). But those that are waiting delay the processing of the operation
    	when the scheduling is called by connection_threadmain.
    
    	The some operations can appear hanging.
    	This scenario happens with async operations
    
    Fix Description:
    	Instead of waiting for the completion of the scheduled handler,
    	evaluates if the scheduled handler needs to be cleared (ns_job_done)
    	or the waiting  handler to be canceled.
    
    https://pagure.io/389-ds-base/issue/49765
    
    Reviewed by: Mark Reynolds (thanks Mark !)
    
    Platforms tested: F26
    
    Flag Day: no
    
    Doc impact: no
    
        
file modified
+76 -66