--- ../../build/redis/cache/redis-3.2.8/src/bio.c	2017-02-12 16:14:57.000000000 +0100
+++ ./src/bio.c	2017-03-02 22:46:52.999274254 +0100
@@ -151,8 +151,8 @@
 
     /* Make the thread killable at any time, so that bioKillThreads()
      * can work reliably. */
-    pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
-    pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
+    //pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
+    //pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
 
     pthread_mutex_lock(&bio_mutex[type]);
     /* Block SIGALRM so we are sure that only the main thread will
@@ -213,15 +213,19 @@
     int err, j;
 
     for (j = 0; j < BIO_NUM_OPS; j++) {
-        if (pthread_cancel(bio_threads[j]) == 0) {
-            if ((err = pthread_join(bio_threads[j],NULL)) != 0) {
-                serverLog(LL_WARNING,
-                    "Bio thread for job type #%d can be joined: %s",
-                        j, strerror(err));
-            } else {
-                serverLog(LL_WARNING,
-                    "Bio thread for job type #%d terminated",j);
-            }
-        }
+        pthread_kill(bio_threads[j], 0);
+        serverLog(LL_WARNING,
+            "Bio thread for job type #%d terminated",j);
+
+        //if (pthread_cancel(bio_threads[j]) == 0) {
+        //    if ((err = pthread_join(bio_threads[j],NULL)) != 0) {
+        //        serverLog(LL_WARNING,
+        //            "Bio thread for job type #%d can be joined: %s",
+        //                j, strerror(err));
+        //    } else {
+        //        serverLog(LL_WARNING,
+        //            "Bio thread for job type #%d terminated",j);
+        //    }
+        //}
     }
 }