]> granicus.if.org Git - transmission/commitdiff
Update tr-{dht,udp} to libevent2.
authorJuliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
Sun, 9 Jan 2011 21:48:51 +0000 (21:48 +0000)
committerJuliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
Sun, 9 Jan 2011 21:48:51 +0000 (21:48 +0000)
libtransmission/tr-dht.c
libtransmission/tr-udp.c

index 036a37d215e2cd5a25642b00eb37656f332a2e37..24a19a0efd61dabcc198bd4bc0a3d8f57dbddabb 100644 (file)
@@ -59,7 +59,7 @@ THE SOFTWARE.
 #include "trevent.h" /* tr_runInEventThread() */
 #include "utils.h"
 
-static struct event dht_timer;
+static struct event *dht_timer = NULL;
 static unsigned char myid[20];
 static tr_session *session = NULL;
 
@@ -315,8 +315,8 @@ tr_dhtInit(tr_session *ss)
     cl->len6 = len6;
     tr_threadNew( dht_bootstrap, cl );
 
-    evtimer_set( &dht_timer, timer_callback, session );
-    tr_timerAdd( &dht_timer, 0, tr_cryptoWeakRandInt( 1000000 ) );
+    dht_timer = evtimer_new( NULL, timer_callback, session );
+    tr_timerAdd( dht_timer, 0, tr_cryptoWeakRandInt( 1000000 ) );
 
     tr_ndbg( "DHT", "DHT initialized" );
 
@@ -336,7 +336,8 @@ tr_dhtUninit(tr_session *ss)
 
     tr_ndbg( "DHT", "Uninitializing DHT" );
 
-    event_del( &dht_timer );
+    event_free( dht_timer );
+    dht_timer = NULL;
 
     /* Since we only save known good nodes, avoid erasing older data if we
        don't know enough nodes. */
@@ -611,7 +612,7 @@ tr_dhtCallback(unsigned char *buf, int buflen,
 
     /* Being slightly late is fine,
        and has the added benefit of adding some jitter. */
-    tr_timerAdd( &dht_timer, tosleep, tr_cryptoWeakRandInt( 1000000 ) );
+    tr_timerAdd( dht_timer, tosleep, tr_cryptoWeakRandInt( 1000000 ) );
 }
 
 static void
index 0244d1a2ed22ee6b2918a10b47be5d699f4d10ae..68a6b0595cd2b8053699c9b2fb1755faa0a164aa 100644 (file)
@@ -24,7 +24,7 @@ THE SOFTWARE.
 #include <unistd.h>
 #include <assert.h>
 
-#include <event.h>
+#include <event2/event.h>
 
 #include "transmission.h"
 #include "net.h"
@@ -160,14 +160,6 @@ tr_udpInit(tr_session *ss, const tr_address * addr)
         goto ipv6;
     }
 
-    ss->udp_event = tr_new0(struct event, 1);
-    if(ss->udp_event == NULL) {
-        tr_nerr("UDP", "Couldn't allocate IPv4 event");
-        close(ss->udp_socket);
-        ss->udp_socket = -1;
-        goto ipv6;
-    }
-
     memset(&sin, 0, sizeof(sin));
     sin.sin_family = AF_INET;
     memcpy(&sin.sin_addr, &addr->addr.addr4, sizeof (struct in_addr));
@@ -179,21 +171,21 @@ tr_udpInit(tr_session *ss, const tr_address * addr)
         ss->udp_socket = -1;
         goto ipv6;
     }
-
-    event_set(ss->udp_event, ss->udp_socket, EV_READ | EV_PERSIST,
-              event_callback, ss);
+    ss->udp_event =
+        event_new(NULL, ss->udp_socket, EV_READ | EV_PERSIST,
+                  event_callback, ss);
+    tr_nerr("UDP", "Couldn't allocate IPv4 event");
+    /* Don't bother recovering for now. */
 
  ipv6:
     if(tr_globalIPv6())
         rebind_ipv6(ss, TRUE);
     if(ss->udp6_socket >= 0) {
-        ss->udp6_event = tr_new0(struct event, 1);
-        if(ss->udp6_event == NULL) {
-            tr_nerr("UDP", "Couldn't allocate IPv6 event");
-        } else {
-            event_set(ss->udp6_event, ss->udp6_socket, EV_READ | EV_PERSIST,
+        ss->udp6_event =
+            event_new(NULL, ss->udp6_socket, EV_READ | EV_PERSIST,
                       event_callback, ss);
-        }
+        if(ss->udp6_event == NULL)
+            tr_nerr("UDP", "Couldn't allocate IPv6 event");
     }
 
     if(ss->isDHTEnabled)
@@ -216,8 +208,7 @@ tr_udpUninit(tr_session *ss)
     }
 
     if(ss->udp_event) {
-        event_del(ss->udp_event);
-        free(ss->udp_event);
+        event_free(ss->udp_event);
         ss->udp_event = NULL;
     }
 
@@ -227,8 +218,7 @@ tr_udpUninit(tr_session *ss)
     }
 
     if(ss->udp6_event) {
-        event_del(ss->udp6_event);
-        free(ss->udp6_event);
+        event_free(ss->udp6_event);
         ss->udp6_event = NULL;
     }