[Pidgin] #37: Stop doing blocking file IO

Pidgin trac at pidgin.im
Sat Jan 31 08:27:52 EST 2009


#37: Stop doing blocking file IO
----------------------+-----------------------------------------------------
 Reporter:  seanegan  |        Owner:  seanegan    
     Type:  defect    |       Status:  new         
Milestone:  3.0.0     |    Component:  pidgin (gtk)
  Version:  2.0       |   Resolution:              
 Keywords:            |  
----------------------+-----------------------------------------------------

Comment(by infjaf):

 In the function purple_util_write_data_to_file_absolute (libpurple/util.c)
 it does fflush and fsync.

 This function is called to save prefs.xml and this file is saved too much
 time (every time you move pidgin window!).  To get worse, I guess this
 function is called from the main thread, so if the system is under heavy
 I/O load o have a bad response time from a network drive (NFS) pindgin
 interface gets unusable for a while (30 seconds or more).

 So there are varios solutions:
  1. Saving less times prefs.xml (only on exit pidgin or prefs saved by the
 user, for example)
  2. Launching this task in a separate thread on the background.
  3. Not flushing the contents? I supposse this can be dangerous, but i'm
 not sure.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/37#comment:4>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list