Ticket Change Details
Overview

Artifact ID: 5eac592725b07e08d3477c84aed0b3f373199301af3ea3a5fbf5a1214c09856c
Ticket: 94c6a431fee47acdb590ee3963704ef1d756a5cf
Buffering until timeout
User & Date: anonymous 2018-10-22 21:01:25
Changes

  1. Change icomment to:

    Hi,

    We have the same problem and I was able to pinpoint it after learning tcl channel frame.

    1. In "tlsWatchProc" of tlsIO.c, the condition to create timer is not covering all cases. It should also check the BIO buffer. The line should read: if ((mask & TCL_READABLE) && (Tcl_InputBuffered(statePtr->self) > 0 || BIO_ctrl_pending(statePtr->bio) > 0)) { ............... }

    2. In "BioCtrl" of tlsBIO.c, the result of BIO_CTRL_PENDING should be: ret = ((chan) ? Tcl_InputBuffered(chan) : 0); NOT ret = ((chan) ? 1: 0);

    Second error caused BIO_ctrl_pending always return 1 even no data available.

    Please let me know after you push our the patch.

    Best,

    Jinhu [email protected]

  2. Change login to "anonymous"
  3. Change mimetype to "text/plain"
  4. Change status to "Verified"
  5. Change type to "Code Defect"
  6. Change username to "[email protected]"