Patch #1191065: Fix preprocessor problems on systems where recvfrom
is a macro.
diff --git a/Misc/NEWS b/Misc/NEWS
index 4822150..22dbc9c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -48,6 +48,9 @@
 Extension Modules
 -----------------
 
+- Patch #1191065: Fix preprocessor problems on systems where recvfrom
+  is a macro.
+
 - Bug #1467952: os.listdir() now correctly raises an error if readdir()
   fails with an error condition.
 
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index bb5150f..93cb8e0 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -2208,18 +2208,20 @@
 	Py_BEGIN_ALLOW_THREADS
 	memset(&addrbuf, 0, addrlen);
 	timeout = internal_select(s, 0);
-	if (!timeout)
-		n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+	if (!timeout) {
 #ifndef MS_WINDOWS
 #if defined(PYOS_OS2) && !defined(PYCC_GCC)
-			     (struct sockaddr *) &addrbuf, &addrlen
+		n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+			     (struct sockaddr *) &addrbuf, &addrlen);
 #else
-			     (void *) &addrbuf, &addrlen
+		n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+			     (void *) &addrbuf, &addrlen);
 #endif
 #else
-			     (struct sockaddr *) &addrbuf, &addrlen
+		n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+			     (struct sockaddr *) &addrbuf, &addrlen);
 #endif
-			);
+	}
 	Py_END_ALLOW_THREADS
 
 	if (timeout) {