view PLUGIN_HOWTO @ 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 7acebc9d043f
children cc3c50816cc9
line wrap: on
line source

For information on writing a plugin for Gaim, go
http://gaim.sourceforge.net/api/ and see the HOWTOs in the
"Related Pages" section.

You can also generate this documentation locally by installing
doxygen and graphviz dot, then running "make docs" in the Gaim
source tree.  The documentation will be in the docs/html directory.

This next paragraph is old and possibly out of date:
Compilation of the plugins is fairly straight-forward; there is a
Makefile in this directory that has a rule for making the .so file
from a .c file. No modification of the Makefile should be necessary,
unless if you simply want to type 'make' to have it made; otherwise,
'make filename.so' will take filename.c and make the .so plugin from
it. If you need to link in with extra libraries, you can set the
environment variable PLUGIN_LIBS to be the libraries you want to link
with.

It should be possible to compile plugins outside of the Gaim source
tree, which is a much cleaner solution.