diff --git a/src/switch_utils.c b/src/switch_utils.c index 7d6fc21f55..3b9ad79c2f 100644 --- a/src/switch_utils.c +++ b/src/switch_utils.c @@ -465,6 +465,10 @@ SWITCH_DECLARE(switch_status_t) switch_b64_encode(unsigned char *in, switch_size for (x = 0; x < ilen; x++) { b = (b << 8) + in[x]; l += 8; + + if ((X % 1024) == 0) { + switch_cond_next(); /* give other processes/threads a chance */ + } while (l >= 6) { out[bytes++] = switch_b64_table[(b >> (l -= 6)) % 64]; if (++y != 72) { @@ -641,6 +645,7 @@ SWITCH_DECLARE(switch_bool_t) switch_simple_email(const char *to, } while ((ilen = read(ifd, in, B64BUFFLEN))) { + switch_cond_next(); /* give other processes/threads a chance */ for (x = 0; x < ilen; x++) { b = (b << 8) + in[x]; l += 8;