- if(!PyString_Check(data)) {
- PyErr_SetString(PyExc_TypeError, "datagram must be a string");
- return(NULL);
- }
- if(sendfd(sock, fd, PyString_AsString(data), PyString_Size(data)) < 0) {
+ Py_BEGIN_ALLOW_THREADS;
+ ret = sendfd(sock, fd, data.buf, data.len);
+ Py_END_ALLOW_THREADS;
+ PyBuffer_Release(&data);
+ if(ret < 0) {