about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--hurd/hurd/signal.h6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ed3971b961..8483b23861 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Cast expressions results to
+	error_t to fix usage in C++ programs.
+
 2016-11-26  Joseph Myers  <joseph@codesourcery.com>
 
 	* scripts/build-many-glibcs.py: Import datetime module.
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index 85e515293b..96f42d5064 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -340,18 +340,18 @@ extern mach_msg_timeout_t _hurd_interrupted_rpc_timeout;
     do									      \
       {									      \
 	/* Get the message port.  */					      \
-	__err = (fetch_msgport_expr);					      \
+	__err = (error_t) (fetch_msgport_expr);				      \
 	if (__err)							      \
 	  break;							      \
 	/* Get the reference port.  */					      \
-	__err = (fetch_refport_expr);					      \
+	__err = (error_t) (fetch_refport_expr);				      \
 	if (__err)							      \
 	  {								      \
 	    /* Couldn't get it; deallocate MSGPORT and fail.  */	      \
 	    __mach_port_deallocate (__mach_task_self (), msgport);	      \
 	    break;							      \
 	  }								      \
-	__err = (rpc_expr);						      \
+	__err = (error_t) (rpc_expr);					      \
 	__mach_port_deallocate (__mach_task_self (), msgport);		      \
 	if ((dealloc_refport) && refport != MACH_PORT_NULL)		      \
 	  __mach_port_deallocate (__mach_task_self (), refport);    	      \