Date 29 January 2019
.fi
-.** if formatting with tfm, the roff.im will cause roff output to be generated
-.** if formatting with pfm, then pretty postscript will be generated
.gv e LIB lib
-.if pfm
- .im &{lib}/generic_ps.im
-.ei
- .gv e OUTPUT_RST use_rst
- .if .ev &use_rst 1 =
- .im &{lib}/rst.im
- .ei
- .im &{lib}/roff.im
- .fi
-.fi
+.im &{lib}/man/setup.im
&line_len(6i)
of an extreme error.
&h2(ERRORS)
-The &ital(state) field in the message buffer will indicate either &cw(RMR_OK) or
+The &ital(state) field in the message buffer will indicate either &cw(RMR_OK)
+when the message receive process was successful and the message can be used
+by the caller.
+Depending on the underlying transport mechanism, one of the following RMR
+error stats may be returned:
+&half_space
+
+&beg_dlist(.75i : ^&bold_font )
+&di(RMR_ERR_EMPTY) The message received had no payload, or was completely empty.
+
+&half_space
+&di(RMR_ERR_TIMEOUT) For some transport mechanisms, or if reading the receive
+queue from multiple threads, it is possible for one thread to find no data
+waiting when it queries the queue. When this state is reported, the
+message buffer does not contain message data and the user application should
+reinvoke the receive function.
+&end_dlist
+
+&space
+
+
+When an RMR error state is reported, the underlying &cw(errno) value might
+provide more information. The following is a list of possible values that
+might accompany the states listed above:
+
+&half_space
&cw(RMR_ERR_EMPTY) if an empty message was received.
If a nil pointer is returned, or any other state value was set in the message
buffer, &cw(errno) will be set to one of the following:
rmr_rcv_specific(3),
rmr_rts_msg(3),
rmr_ready(3),
-rmr_ring_free(3)
+rmr_ring_free(3),
+rmr_torcv_msg(3)
.ju on
-
-.qu
-