[Pidgin] #814: Fix: self-canceling file transfer

Pidgin trac at pidgin.im
Thu May 10 02:17:22 EDT 2007


#814: Fix: self-canceling file transfer
------------------------+---------------------------------------------------
  Reporter:  vampire    |       Owner:  datallah    
      Type:  patch      |      Status:  new         
  Priority:  minor      |   Milestone:  2.0.1       
 Component:  libpurple  |     Version:  2.0         
Resolution:             |    Keywords:  filetransfer
   Pending:  0          |  
------------------------+---------------------------------------------------
Comment (by vampire):

 At the time I commented on the SF patch I had it all figured out, but now
 I forgot :)

 Taking another glance, there are 2 cases:
  * the protocol uses the default implementation in purple_xfer_read(),
 which calls read(), and:
   * returns 0 if read() errored with EAGAIN -- we'll have to try again
 later
   * returns -1 if read() returned any other error, or read() returned 0
   * returns the number of bytes received otherwise
  * the protocol has its own _xfer_read() function, which currently means
 yahoo and jabber OOB; they seem to (and should) follow the same convention

 So it makes sense only to remote_cancel the transfer if purple_xfer_read()
 returns < 0.

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


More information about the Tracker mailing list