STREAMS-UX Programmer's Guide (February 2007)
Message Types
Ordinary Messages
Appendix C
245
• If the signal is not SIGPOLL and the stream is not a controlling tty, no signal is sent, except in case of
SIOCSPGRP and TIOCSPGRP. These two IOCTL commands set the process group field in the stream head so
the stream can generate signals even if it is not a controlling tty.
M_TRAIL
This message is generated and sent upstream by a driver after the M_HANGUP message. It marks the end of
data after an M_HANGUP message. The M_TRAIL message will be processed at the stream head only if the
preceding M_HANGUP message sent by the driver contains the 2-byte TRAIL_TOKEN.
• Once the M_TRAIL message is processed, subsequent read() or getmsg() calls to the stream will return
any messages present at the stream head.
• After all the messages are read, read() will return 0 and getmsg() will set each of its two length fields to 0.