Hi,
This patch 3 of 3, which applies on top of the first 2, removes the
alarm() and sigaction() calls that were added by my original FT patch
to detect transfer timeouts. Besides apparently not working on
Windows, they involved a lot of ugly code to handle a special case.
My new approach is to add destructors that can called when SNACs are
freed; a timeout is detected when a request SNAC is cleaned up before
the transfer is accepted. Although this touches several files, it is
more generic than the old method. I tried to implement this in an
unintrusive manner, so that there is little preformance penalty for
SNACs that do not use destructors.
My first two patches should work fine without this. If there are any
objections to the third patch, I ask that the first two patches be
applied, in which case I will set up a SourceForge page for this one.
aim_cbtypes.h | 3 +
aim_internal.h | 7 +++
im.c | 31 ++++++++++++--
oscar.c | 101 +++++++++++++++--------------------------------
snac.c | 46 +++++++++++++++++++--
5 files changed, 112 insertions(+), 76 deletions(-)
-- Wil
|