mediaupstream/SublimeText-Crypto — pull request #12 by eddiejessup (2014-06-12 22:23:25+00:00)
Title: Send data to openssl pipe via communicate instead of stdin.write

Recently a big file that I encrypt using this plugin started breaking Sublime Text: it froze when I entered my password. Looking into it, it was the line `openssl.stdin.write( data.encode("utf-8") )` that was the issue. From the subprocess docs,

> Warning Use communicate() rather than stdin.write, .stdout.read or .stderr.read to avoid deadlocks due to any of the other OS pipe buffers filling up and blocking the child process.

I think this is what was happening, as it's only big files that break it. I moved the data input to the communicate line, and now it works for me.

I only realised the solution was so simple just now, and before realising that I made a [fork of your plugin](https://github.com/eddiejessup/Transcrypt) using the [PyCrypto](https://github.com/dlitz/pycrypto) module that went on the package manager today! I'm not sure whether to keep it since it isn't really needed any more.