diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c
index 948ffe7..6196d36 100644
--- a/Modules/ossaudiodev.c
+++ b/Modules/ossaudiodev.c
@@ -385,7 +385,12 @@
     if (rv == NULL)
         return NULL;
     cp = PyString_AS_STRING(rv);
-    if ((count = read(self->fd, cp, size)) < 0) {
+
+    Py_BEGIN_ALLOW_THREADS
+    count = read(self->fd, cp, size);
+    Py_END_ALLOW_THREADS
+
+    if (count < 0) {
         PyErr_SetFromErrno(PyExc_IOError);
         Py_DECREF(rv);
         return NULL;
@@ -404,7 +409,12 @@
     if (!PyArg_ParseTuple(args, "s#:write", &cp, &size)) {
         return NULL;
     }
-    if ((rv = write(self->fd, cp, size)) == -1) {
+
+    Py_BEGIN_ALLOW_THREADS
+    rv = write(self->fd, cp, size);
+    Py_END_ALLOW_THREADS
+
+    if (rv == -1) {
         return PyErr_SetFromErrno(PyExc_IOError);
     } else {
         self->ocount += rv;
@@ -435,12 +445,16 @@
     FD_SET(self->fd, &write_set_fds);
 
     while (size > 0) {
+        Py_BEGIN_ALLOW_THREADS
         select_rv = select(self->fd+1, NULL, &write_set_fds, NULL, NULL);
+        Py_END_ALLOW_THREADS
         assert(select_rv != 0);         /* no timeout, can't expire */
         if (select_rv == -1)
             return PyErr_SetFromErrno(PyExc_IOError);
 
+        Py_BEGIN_ALLOW_THREADS
         rv = write(self->fd, cp, size);
+        Py_END_ALLOW_THREADS
         if (rv == -1) {
             if (errno == EAGAIN) {      /* buffer is full, try again */
                 errno = 0;
