diff -up vte-0.27.2/src/vtestream-file.h.async vte-0.27.2/src/vtestream-file.h
--- vte-0.27.2/src/vtestream-file.h.async	2010-07-15 13:08:44.000000000 -0400
+++ vte-0.27.2/src/vtestream-file.h	2010-11-17 22:19:58.830992005 -0500
@@ -87,17 +87,16 @@ _xtruncate (gint fd, gsize offset)
 static gboolean
 _xwrite_contents (gint fd, GOutputStream *output, GCancellable *cancellable, GError **error)
 {
-	gboolean ret;
 	GInputStream *input;
 
 	if (G_UNLIKELY (!fd))
 		return TRUE;
 
 	input = g_unix_input_stream_new (fd, FALSE);
-	ret = -1 != g_output_stream_splice (output, input, G_OUTPUT_STREAM_SPLICE_NONE, cancellable, error);
+	g_output_stream_splice_async (output, input, G_OUTPUT_STREAM_SPLICE_NONE, G_PRIORITY_DEFAULT, cancellable, NULL, error);
 	g_object_unref (input);
 
-	return ret;
+	return TRUE;
 }
 
 
