Return-Path: <tiff-bounces@lists.maptools.org>
X-Original-To: info@awaresystems.be
Delivered-To: info@awaresystems.be
Received: from mx-j.b-one.net (mx-j.one.com [91.198.169.57])
	by mail9.b-one.net (Postfix) with ESMTP id B12A640080A
	for <info@awaresystems.be>; Fri, 26 Feb 2010 18:26:17 +0100 (CET)
Received: by mx-j.b-one.net (Postfix, from userid 106)
	id 97DA87B7F; Fri, 26 Feb 2010 18:26:17 +0100 (CET)
X-Virus-Scanned: by one.com
X-Spam-Score: 0
X-Spam-Level: 
X-Spam-Status: No, score=0 tagged_above=0 required=4 tests=[none]
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.4
Received: from lists.maptools.org (lists.maptools.org [65.39.174.144]) by
 mx-j.b-one.net (Postfix) with ESMTP id B04337B7F for <info@awaresystems.be>;
 Fri, 26 Feb 2010 18:26:16 +0100 (CET)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by
 lists.maptools.org (Postfix) with ESMTP id EF1371D2AFA0E; Fri, 26 Feb 2010
 12:25:24 -0500 (EST)
Received: from blade.simplesystems.org (blade.simplesystems.org
 [65.66.246.74]) by lists.maptools.org (Postfix) with ESMTPS id 808821D28C081
 for <tiff@lists.maptools.org>; Fri, 26 Feb 2010 12:05:11 -0500 (EST)
Received: from freddy.simplesystems.org (freddy.simplesystems.org
 [65.66.246.65]) by blade.simplesystems.org (8.13.8+Sun/8.13.8) with ESMTP id
 o1QH5Arc019996; Fri, 26 Feb 2010 11:05:10 -0600 (CST)
Date: Fri, 26 Feb 2010 11:05:10 -0600 (CST)
From: Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
X-X-Sender: bfriesen@freddy.simplesystems.org
To: Eric Doenges <doenges@mvtec.com>
In-Reply-To: <4B878218.8@mvtec.com>
Message-ID: <alpine.GSO.2.01.1002261048300.1592@freddy.simplesystems.org>
References: <4B878218.8@mvtec.com>
User-Agent: Alpine 2.01 (GSO 1266 2009-07-14)
MIME-Version: 1.0
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.2
 (blade.simplesystems.org [65.66.246.90]); Fri, 26 Feb 2010 11:05:10 -0600
 (CST)
Cc: tiff@lists.maptools.org
Subject: Re: [Tiff] Patch for tif_unix.c
X-BeenThere: tiff@lists.maptools.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.maptools.org>
List-Unsubscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.maptools.org?subject=unsubscribe>
List-Archive: <http://lists.maptools.org/mailman/private/tiff>
List-Post: <mailto:tiff@lists.maptools.org>
List-Help: <mailto:tiff-request@lists.maptools.org?subject=help>
List-Subscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.maptools.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tiff-bounces@lists.maptools.org
Errors-To: tiff-bounces@lists.maptools.org

On Fri, 26 Feb 2010, Eric Doenges wrote:

> I have a small patch for tif_unix.c that I would like to see included in
> libtiff 4.0 if possible. The problem is that tif_unix.c assumes that
> read() and write() will be able to read and write the number of
> requested bytes in one go. While this assumption seems to hold (for disk
> files) on all Unix systems I have ever worked on, it is not guaranteed
> by POSIX, and we do have one system (TI TMS320C6X using TI's compiler
> and C runtime) where file I/O can only be done in small chunks (256
> bytes in this case).

There is some code which looks very much like this in GraphicsMagick 
but with the primary intention to deal with system calls which are 
interrupted by a signal.  While the approach used in GraphicsMagick 
would deal with the short read/write issue, I had never considered 
that a system would have an issue with the size of the data passed.

The similar code in GraphicsMagick is in the FilePositionRead() and 
FilePositionWrite() functions viewable on the web at 
"http://cvs.graphicsmagick.org/cgi-bin/cvsweb.cgi/GraphicsMagick/magick/pixel_cache.c?rev=1.67;content-type=text%2Fx-cvsweb-markup".

It does not seem like your patch deals with the case where the system 
call returns -1 to indicate an error.  This is important to deal with 
properly since otherwise the software could lock up.  Can you fix this 
and re-submit your patch?  While it is useful to post to this list, 
always remember to open a bug report on libtiff Bugzilla and post your 
patch there as well.

Bob
--
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
Tiff mailing list: Tiff@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/tiff
http://www.remotesensing.org/libtiff/
