public static void SaveAtomic (Gdk.Pixbuf src, string filename, string type, string [] keys, string [] values) { string tmpname = filename + ".tmp"; src.Savev (tmpname, type, NullTerminateArray (keys), NullTerminateArray (values)); if (rename (tmpname, filename) < 0) throw new Exception ("Error renaming file"); }