in connection_threadmain(), if the connection is not in turbo mode, if we are using buffered reads and the connection has more data in the buffer after reading a PDU, we should not put the connection back into the poll() list, we should put the connection immediately back on the work_q to allow another thread to read the next PDU.
0004-Ticket-47320-put-conn-on-work_q-not-poll-list-if-con.patch 0004-Ticket-47320-put-conn-on-work_q-not-poll-list-if-con.patch
commit ed88c40218c3fb8944618927e7865d74bc922c02 Author: Rich Megginson rmeggins@redhat.com Date: Fri Apr 5 14:29:16 2013 -0600
git patch file (master) -- additional change to commit ed88c40218c3fb8944618927e7865d74bc922c02 0001-Ticket-47320-put-conn-on-work_q-not-poll-list-if-con.patch
Thanks to Rich for the advice.
Description: Additional change to commit ed88c40218c3fb8944618927e7865d74bc922c02 to fix the self-deadlock. Replacing bind_credentials_set with bind_credentials_set_nolock in handle_handshake_done. The handle_handshake_done is only called from connection_read_operation, where lock on c_mutex is already obtained. Thus, the replacement is safe.
Pushed to master: commit a78448611711c34ca5f1bfdc6b084cd81fedcf88
Metadata Update from @nhosoi: - Issue assigned to rmeggins - Issue set to the milestone: 1.3.2 - 04/13 (April)
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/657
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)