You need to sign in or sign up before continuing.
Lack of MSG_NOSIGNAL and MSG_WAITFORONE for Solaris.
Summary
Since Solaris 11.4 MSG_NOSIGNAL and MSG_WAITFORONE are supported.
System Information
- Operating system: Solaris
- Processor architecture: Any
- Compiler version: Trunk
- Device: ---
Description
Based on Solaris 11.4 socket.h
:
#define MSG_OOB 0x1 /* process out-of-band data */
#define MSG_PEEK 0x2 /* peek at incoming message */
#define MSG_DONTROUTE 0x4 /* send without using routing tables */
/* Added for XPGv2 compliance */
#define MSG_EOR 0x8 /* Terminates a record */
#define MSG_CTRUNC 0x10 /* Control data truncated */
#define MSG_TRUNC 0x20 /* Normal data truncated */
#define MSG_WAITALL 0x40 /* Wait for complete recv or error */
#define MSG_DUPCTRL 0x800 /* Save control message for use with */
/* with left over data */
/* End of XPGv2 compliance */
#define MSG_DONTWAIT 0x80 /* Don't block for this recv */
#define MSG_NOTIFICATION 0x100 /* Notification, not data */
#define MSG_NOSIGNAL 0x200 /* Don't generate SIGPIPE */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#define MSG_WAITFORONE 0x400 /* recvmmsg() control flag */
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#define MSG_XPG4_2 0x8000 /* Private: XPG4.2 flag */
#define MSG_MAXIOVLEN 16
and info from :
https://docs.oracle.com/cd/E88353_01/html/E37843/send-3c.html
we need to add :
+++ source/packages/rtl-extra/src/solaris/unxsockh.inc
@@ -167,0 +168,3 @@
+ MSG_NOSIGNAL = $0200; { Solaris 11.4 : Don't generate SIGPIPE }
+ MSG_WAITFORONE = $0400; { Solaris 11.4 : recvmmsg() control flag }