On Tue, Jul 21, 2026 at 08:31:48PM +0100, [email protected] wrote:
> As per subject imsg_get is not documented although it's used
> extensively in the OpenBSD sources (288 counts including about 50%
> error messages). "apropos imsg_get" lists the imsg_init(3) manpage
> but "man imsg_get" doesn't open it (a kind of reverse scunthorpe
> problem).
> 
> Is this by design or an oversight? If the former what should we be
> using instead?
> 
> Matthew
> 
> ps. I'm not at all tied to the wording below (and should the
> introductory "The accessors" phrase be moved to this now-first
> paragraph?) I just didn't want to send in such a trivial bug report
> without a complete patch.
> 
> --- /usr/src/lib/libutil/imsg_init.3  Thu May  7 17:09:01 2026
> +++ /home/chohag/src/imsg_init.3      Tue Jul 21 20:11:36 2026
> @@ -27,6 +27,7 @@
>  .Nm imsg_create ,
>  .Nm imsg_forward ,
>  .Nm imsg_free ,
> +.Nm imsg_get ,
>  .Nm imsg_get_buf ,
>  .Nm imsg_get_data ,
>  .Nm imsg_get_fd ,
> @@ -72,6 +73,8 @@
>  .Ft void
>  .Fn imsg_free "struct imsg *imsg"
>  .Ft int
> +.Fn imsg_get "struct imsgbuf *imsgbuf" "struct imsg *imsg"
> +.Ft int
>  .Fn imsg_get_buf "struct imsg *imsg" "void *data" "size_t len"
>  .Ft int
>  .Fn imsg_get_data "struct imsg *imsg" "void *data" "size_t len"
> @@ -311,6 +314,19 @@
>  It is possible to call
>  .Fn imsg_forward
>  more than once per message.
> +.Pp
> +.Fn imsg_get
> +works identically to
> +.Fn imsgbuf_get
> +except for the return value: if a message is waiting then it is
> +filled into the structure pointed to by
> +.Em struct imsg
> +which must be freed by
> +.Fn imsg_free
> +when no longer required.
> +Otherwise the value 0 is returned if there are no messages in
> +.Fa imsgbuf
> +or \-1 if an error occurred.
>  .Pp
>  The accessors
>  .Fn imsg_get_type ,
> 

imsg_get is on the way out. It was renamed to imsgbuf_get() and the return
value was simplified. Fixing all of the tree still needs to happen.

So no, this does not need to be added. Instead the usage should be
reduced.

-- 
:wq Claudio

Reply via email to