diff --git a/event/linktest/iperf/iperf-patch b/event/linktest/iperf/iperf-patch
index eb87c048a29f5ead78eb9aae6a8a36e459663c71..b8182212c705918ab522aba12c524b7d1820fe9e 100644
--- a/event/linktest/iperf/iperf-patch
+++ b/event/linktest/iperf/iperf-patch
@@ -1,10 +1,35 @@
+Index: compat/Thread.c
+===================================================================
+RCS file: /flux/CVS/emulab-iperf/compat/Thread.c,v
+retrieving revision 1.1.1.1
+diff -c -r1.1.1.1 Thread.c
+*** compat/Thread.c	24 Oct 2005 15:18:32 -0000	1.1.1.1
+--- compat/Thread.c	22 Dec 2006 03:48:06 -0000
+***************
+*** 202,208 ****
+  #if   defined( HAVE_POSIX_THREAD )
+              // Cray J90 doesn't have pthread_cancel; Iperf works okay without
+  #ifdef HAVE_PTHREAD_CANCEL
+!             pthread_cancel( oldTID );
+  #endif
+  #else // Win32
+              // this is a somewhat dangerous function; it's not
+--- 202,208 ----
+  #if   defined( HAVE_POSIX_THREAD )
+              // Cray J90 doesn't have pthread_cancel; Iperf works okay without
+  #ifdef HAVE_PTHREAD_CANCEL
+!             pthread_cancel( thread->mTID );
+  #endif
+  #else // Win32
+              // this is a somewhat dangerous function; it's not
 Index: include/Settings.hpp
 ===================================================================
 RCS file: /flux/CVS/emulab-iperf/include/Settings.hpp,v
 retrieving revision 1.1.1.1
-diff -c -r1.1.1.1 Settings.hpp
+retrieving revision 1.2
+diff -c -r1.1.1.1 -r1.2
 *** include/Settings.hpp	24 Oct 2005 15:18:32 -0000	1.1.1.1
---- include/Settings.hpp	31 May 2006 17:18:00 -0000
+--- include/Settings.hpp	31 May 2006 17:20:59 -0000	1.2
 ***************
 *** 125,130 ****
 --- 125,131 ----
@@ -71,9 +96,10 @@ Index: src/Client.cpp
 ===================================================================
 RCS file: /flux/CVS/emulab-iperf/src/Client.cpp,v
 retrieving revision 1.1.1.1
-diff -c -r1.1.1.1 Client.cpp
+retrieving revision 1.4
+diff -c -r1.1.1.1 -r1.4
 *** src/Client.cpp	24 Oct 2005 15:18:33 -0000	1.1.1.1
---- src/Client.cpp	31 May 2006 17:18:00 -0000
+--- src/Client.cpp	31 May 2006 17:20:59 -0000	1.4
 ***************
 *** 216,228 ****
           // perform write 
@@ -154,9 +180,10 @@ Index: src/Locale.c
 ===================================================================
 RCS file: /flux/CVS/emulab-iperf/src/Locale.c,v
 retrieving revision 1.1.1.1
-diff -c -r1.1.1.1 Locale.c
+retrieving revision 1.2
+diff -c -r1.1.1.1 -r1.2
 *** src/Locale.c	24 Oct 2005 15:18:33 -0000	1.1.1.1
---- src/Locale.c	31 May 2006 17:18:00 -0000
+--- src/Locale.c	31 May 2006 17:20:59 -0000	1.2
 ***************
 *** 331,337 ****
   "WARNING: Path MTU Discovery may not be enabled.\n";
@@ -178,9 +205,10 @@ Index: src/Settings.cpp
 ===================================================================
 RCS file: /flux/CVS/emulab-iperf/src/Settings.cpp,v
 retrieving revision 1.1.1.1
-diff -c -r1.1.1.1 Settings.cpp
+retrieving revision 1.2
+diff -c -r1.1.1.1 -r1.2
 *** src/Settings.cpp	24 Oct 2005 15:18:33 -0000	1.1.1.1
---- src/Settings.cpp	31 May 2006 17:18:00 -0000
+--- src/Settings.cpp	31 May 2006 17:20:59 -0000	1.2
 ***************
 *** 105,110 ****
 --- 105,111 ----