{"push_id":3695997960,"size":10,"distinct_size":4,"ref":"refs/heads/ssltests","head":"b36bf957392ea431fd048d19992ae6805081d3fc","before":"fc7c388f60432242895e7af9644c703aafe8632d","commits":[{"sha":"41407397b9197e150b46b653bf6e25be4e4d8a78","author":{"name":"dipinhora","email":"c13a6f5b23fed7603c77028005474fb0b4b3e176@wallaroolabs.com"},"message":"Make reading via TCPConnection re-entrant safe\n\nPort over bc6f78bcaad55156393753c540befe9f581065bc from wallaroo.\n\nThere's a nasty possible bug in TCPConnection before\napplying this change.\n\nBecause `_mute` and `_unmute` are synchronous methods on\nTCPConnection and because they can be called inside\n`_pending_reads` via code executing in `notify.received`, its\npossible to mute and unmute a source while executing\n`_pending_reads`.\n\nPrior to this change, if you were to unmute from inside a pending\nreads via the above scenario, `_unmute` would synchronously call\n`_pending_reads` to re-enter that function and start processing\ndata out of order. Further, we could end up in an infinite loop\nso long as enough data existed.","distinct":false,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/41407397b9197e150b46b653bf6e25be4e4d8a78"},{"sha":"c0d8f8a439df29ac7b74725bae7898c0feb77872","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Add changlog entry for PR #3175","distinct":false,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/c0d8f8a439df29ac7b74725bae7898c0feb77872"},{"sha":"4ada3ea0eca246a4663d21fecdaeb1bcf4eae411","author":{"name":"dipinhora","email":"c13a6f5b23fed7603c77028005474fb0b4b3e176@wallaroolabs.com"},"message":"Make TCPConnection yield on writes to not hog cpu\n\nPort over of the following PR from wallaroo:\n\nhttps://github.com/WallarooLabs/wallaroo/pull/2565\n\nThis commit adds a `_write_again` to the `TCPConnection` actor\nand modifies the `_pending_writes` function to yield by calling\n`_write_again` after having sent at least `_max_size` bytes.\nThis will allow other actors and GC to run when a large amount\nof data has been queued up to be sent.","distinct":false,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/4ada3ea0eca246a4663d21fecdaeb1bcf4eae411"},{"sha":"302dccf85d1651e71528d7a6df1b706fae80ae8c","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Add changelog entry for PR #3176","distinct":false,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/302dccf85d1651e71528d7a6df1b706fae80ae8c"},{"sha":"c48aa3ce1ef02df11e42449be71d951f3dd6ae44","author":{"name":"dipinhora","email":"c13a6f5b23fed7603c77028005474fb0b4b3e176@wallaroolabs.com"},"message":"Cleanup TCPConnection GC-safety mechanism for writev buffers\n\nPrior to this commit, the TCPConnection `pending_writev` buffer had to\nhave a secondary buffer called `_pending` to ensure that the data\nwouldn't get GC'd too early by the runtime.\n\nThis commit removes that hack and replaces it with a slightly different\nhack based on the strategy used in `File` in PR #2775. The hacky part\nis that now we have two buffers for `writev` data. One for windows\n(`_pending_windows`) and one for non-windows (`_pending_posix`) to\naccount for the difference in order of the struct between windows\nand posix. This, however, seems less bad than the previous hack of\nhaving the secondary buffer to ensure GC safety.\n\nresolves #2782\nresolves #2779","distinct":false,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/c48aa3ce1ef02df11e42449be71d951f3dd6ae44"},{"sha":"44f1ea9dc25d2f193c7725cf0e0099c110005a81","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Add changelog entry for PR #3177","distinct":false,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/44f1ea9dc25d2f193c7725cf0e0099c110005a81"},{"sha":"17bc2d90cd196378e569c45e14f5a13ddc6f149c","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Add SSL tests and fix some SSL related bugs\n\nThis commit adds SSL tests for expect, writev, mute, unmute, and\nthrottle. As part of adding these tests, some bugs were encountered\nand fixed to get the tests to pass.","distinct":true,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/17bc2d90cd196378e569c45e14f5a13ddc6f149c"},{"sha":"023fe2021c060053b6b592e036766ac409c248c3","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Add changelog entry for PR #3174","distinct":true,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/023fe2021c060053b6b592e036766ac409c248c3"},{"sha":"6426647b016b0c793c469e21c3138cafae8823e8","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Add link to mailing list for `SSL_has_pending`","distinct":true,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/6426647b016b0c793c469e21c3138cafae8823e8"},{"sha":"b36bf957392ea431fd048d19992ae6805081d3fc","author":{"name":"Dipin Hora","email":"0b31265f0335970bacb29ab7a641d1fb81f5209a@gmail.com"},"message":"Don't send 0 byte payloads\n\nIf, for some reason, TCPConnection is asked to send a 0 byte\npayload, don't send it. It is wasteful and the Windows code\naround read/write completion doesn't like it (it registers as\nan error which results in the connection being closed).","distinct":true,"url":"https://api.github.com/repos/dipinhora/ponyc/commits/b36bf957392ea431fd048d19992ae6805081d3fc"}]}
{"actor":{"display_login":"dipinhora"}}