From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!not-for-mail
From: Miguel Guedes <miguel.a.guedes@gmail.com>
Newsgroups: gmane.emacs.devel
Subject: process.c: read_process_output: hard coded 4096 bytes read limit
Date: Sat, 22 Jun 2013 10:05:10 +0000 (UTC)
Message-ID: <kq3ssm$b00$1@ger.gmane.org>
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: ger.gmane.org 1371895536 12090 80.91.229.3 (22 Jun 2013 10:05:36 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Sat, 22 Jun 2013 10:05:36 +0000 (UTC)
To: emacs-devel@gnu.org
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 22 12:05:37 2013
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([208.118.235.17])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1UqKhM-0002F0-3K
	for ged-emacs-devel@m.gmane.org; Sat, 22 Jun 2013 12:05:36 +0200
Original-Received: from localhost ([::1]:53569 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1UqKhL-0003LG-MR
	for ged-emacs-devel@m.gmane.org; Sat, 22 Jun 2013 06:05:35 -0400
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55063)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <ged-emacs-devel@m.gmane.org>) id 1UqKhI-0003L0-E1
	for emacs-devel@gnu.org; Sat, 22 Jun 2013 06:05:33 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <ged-emacs-devel@m.gmane.org>) id 1UqKhH-0000PE-Lu
	for emacs-devel@gnu.org; Sat, 22 Jun 2013 06:05:32 -0400
Original-Received: from plane.gmane.org ([80.91.229.3]:58024)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <ged-emacs-devel@m.gmane.org>) id 1UqKhH-0000Oy-FV
	for emacs-devel@gnu.org; Sat, 22 Jun 2013 06:05:31 -0400
Original-Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <ged-emacs-devel@m.gmane.org>) id 1UqKhF-00027D-EZ
	for emacs-devel@gnu.org; Sat, 22 Jun 2013 12:05:29 +0200
Original-Received: from 176.24.186.11 ([176.24.186.11])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <emacs-devel@gnu.org>; Sat, 22 Jun 2013 12:05:29 +0200
Original-Received: from miguel.a.guedes by 176.24.186.11 with local (Gmexim 0.1
	(Debian)) id 1AlnuQ-0007hv-00
	for <emacs-devel@gnu.org>; Sat, 22 Jun 2013 12:05:29 +0200
X-Injected-Via-Gmane: http://gmane.org/
Original-Lines: 17
Original-X-Complaints-To: usenet@ger.gmane.org
X-Gmane-NNTP-Posting-Host: 176.24.186.11
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 80.91.229.3
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/emacs-devel>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Xref: news.gmane.org gmane.emacs.devel:160878
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/160878>

Hello List,

In process.c, function read_process_output, all reads are limited to a 
maximum of 4096 bytes.  What is the rationale behind imposing a hardcoded 
limit of 4096 bytes per read from a process channel? (why isn't the 
user allowed to specify this read limit when creating a process/
connection?)

A minor mode I've written that sometimes receives 500-800KB of data as a 
response from an async network connection (opened via make-network-
process) takes several seconds to fully receive the data due to the hard 
coded limit mentioned above and the fact that emacs waits between reads  
(probably in wait_reading_process_output upon receiving a signal in 
sigchld_handler).

-- 
Miguel