Mercurial > pidgin.yaz
view doc/xfer-signals.dox @ 14960:0c80979077cf
[gaim-migrate @ 17738]
* Patch from Christopher "cuberoot" to fix the repeated, CPU-intensive call loop on url_fetch_recv_cb() which was discussed on gaim-devl with the subject "Yahoo (and maybe others): gaim_util_fetch_url_request() at 100% CPU until complete with repeated EAGAIN". He writes:
"When read() returns 0, that means eof... period. Don't check errno, don't collect $200.
The loop was caused by eof condition when errno had previously been EAGAIN/EWOULDBLOCK. The CPU-bound loop stopped when errno happened to be overwritten.
I also believe trying to use some/part of an HTTP request on ETIMEDOUT to be a mistake so I removed it. Funny enough the read(2) manpage doesn't document ETIMEDOUT as a possible errno, but it is. (see tcp_timer.c and tcp_subr.c in src/sys/netinet)."
This closes Adium Trac ticket #5685.
* Added some passing-NULL-to-printf() safety which has been sitting around in this file locally for a while, waiting for a worthwhile commit to accompany.
committer: Tailor Script <tailor@pidgin.im>
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Sat, 11 Nov 2006 20:29:35 +0000 |
parents | d0f7f698b6de |
children | 8cf53d7a0887 |
line wrap: on
line source
/** @page xfer-signals File Transfer Signals @signals @signal file-recv-accept @signal file-recv-start @signal file-recv-cancel @signal file-recv-complete @signal file-recv-request @signal file-send-accept @signal file-send-start @signal file-send-cancel @signal file-send-complete @endsignals <hr> @signaldef file-recv-accept @signalproto void (*file_recv_accept)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been accepted. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-start @signalproto void (*file_recv_start)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been started. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-cancel @signalproto void (*file_recv_cancel)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been canceled. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-complete @signalproto void (*file_recv_complete)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been completed. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-request @signalproto void (*file_recv_request)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted before the user is prompted for an incoming file-transfer. Plugins can intercept the signal to auto-accept/auto-reject the requests. To auto-accept the file transfer, use gaim_xfer_request_accepted(). To auto-reject, set the status of the xfer to GAIM_XFER_STATUS_CANCEL_LOCAL. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-accept @signalproto void (*file_send_accept)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has been accepted. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-start @signalproto void (*file_send_start)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has started. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-cancel @signalproto void (*file_send_cancel)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has been canceled. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-complete @signalproto void (*file_send_complete)(GaimXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has been completed. @param xfer The file transfer @param data User data @endsignaldef */ // vim: syntax=c tw=75 et