Mercurial > hg
changeset 27970:3d23700cf4a9 stable
osutil: disable compilation of recvfds() on unsupported platforms
It appears that Solaris doesn't provide CMSG_LEN(), msg_control, etc. As
recvfds() is only necessary for chg, this patch just drops it if CMSG_LEN
isn't defined, which is the same workaround as Python 3.x.
https://hg.python.org/cpython/rev/c64216addd7f#l7.33
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 02 Feb 2016 20:56:48 +0900 |
parents | 5907ed2b56fb |
children | f7d0c28d34b3 |
files | mercurial/osutil.c |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/osutil.c Wed Feb 03 10:57:27 2016 -0200 +++ b/mercurial/osutil.c Tue Feb 02 20:56:48 2016 +0900 @@ -653,7 +653,11 @@ /* * recvfds() simply does not release GIL during blocking io operation because * command server is known to be single-threaded. + * + * Old systems such as Solaris don't provide CMSG_LEN, msg_control, etc. + * Currently, recvfds() is not supported on these platforms. */ +#ifdef CMSG_LEN static ssize_t recvfdstobuf(int sockfd, int **rfds, void *cbuf, size_t cbufsize) { @@ -713,6 +717,7 @@ return NULL; } +#endif /* CMSG_LEN */ #endif /* ndef _WIN32 */ static PyObject *listdir(PyObject *self, PyObject *args, PyObject *kwargs) @@ -881,9 +886,11 @@ {"statfiles", (PyCFunction)statfiles, METH_VARARGS | METH_KEYWORDS, "stat a series of files or symlinks\n" "Returns None for non-existent entries and entries of other types.\n"}, +#ifdef CMSG_LEN {"recvfds", (PyCFunction)recvfds, METH_VARARGS, "receive list of file descriptors via socket\n"}, #endif +#endif #ifdef __APPLE__ { "isgui", (PyCFunction)isgui, METH_NOARGS,