fixed leaky lock (answers todo about verifying that channel.close() should be called...