+--- ../../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);
++ // }
++ //}
+ }
+ }