[tracker/tracker-0.10-no-atime: 10/23] tracker-extract, tiff: Use O_NOATIME for opening tiff files



commit f546a584c015da20db663ba0df40c48736249b86
Author: Philip Van Hoof <philip codeminded be>
Date:   Thu Sep 22 11:42:25 2011 +0200

    tracker-extract, tiff: Use O_NOATIME for opening tiff files
    
    Conflicts:
    
    	src/tracker-extract/tracker-extract-tiff.c

 src/tracker-extract/tracker-extract-tiff.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index d86781f..7e2d44a 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -269,6 +269,8 @@ extract_tiff (const gchar          *uri,
 	GPtrArray *keywords;
 	guint i;
 	GString *where = NULL;
+	FILE *mfile = NULL;
+	int fd;
 
 #ifdef HAVE_LIBIPTCDATA
 	gchar *iptc_offset;
@@ -282,9 +284,18 @@ extract_tiff (const gchar          *uri,
 
 	filename = g_filename_from_uri (uri, NULL, NULL);
 
-	if ((image = TIFFOpen (filename, "r")) == NULL){
+	mfile = tracker_file_open (filename);
+	
+	if (!mfile) {
+		return;
+	}
+
+	fd = fileno (mfile);
+
+	if ((image = TIFFFdOpen (fd, filename, "r")) == NULL){
 		g_warning ("Could not open image:'%s'\n", filename);
 		g_free (filename);
+		tracker_file_close (mfile, FALSE);
 		return;
 	}
 
@@ -774,6 +785,10 @@ extract_tiff (const gchar          *uri,
 	tracker_exif_free (ed);
 	tracker_xmp_free (xd);
 	tracker_iptc_free (id);
+
+	if (mfile) {
+		tracker_file_close (mfile, FALSE);
+	}
 }
 
 TrackerExtractData *



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]