\"      $NetBSD: mq_unlink.3,v 1.4 2012/03/15 19:04:47 njoly Exp $
\"
\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
\"
Dd June 7, 2009
Dt MQ_UNLINK 3
Os
Sh NAME
Nm mq_unlink
Nd remove a message queue (REALTIME)
Sh LIBRARY
Lb librt
Sh SYNOPSIS
In mqueue.h
Ft int
Fn mq_unlink "const char *name"
Sh DESCRIPTION
The
Fn mq_unlink
function removes the message queue named by the pathname
Fa name .
After a successful call to
Fn mq_unlink
with
Fa name ,
a call to
Xr mq_open 3
with
Fa name
fails if the flag
Dv O_CREAT
is not set in
Fa flags .
If one or more processes have the message queue open when
Fn mq_unlink
is called, destruction of the message queue will be postponed until
all references to the message queue have been closed.
Pp
Calls to
Xr mq_open 3
to recreate the message queue may fail until the message queue is
actually removed.
However, the
Fn mq_unlink
call need not block until all references have been closed;
it may return immediately.
Sh RETURN VALUES
Upon successful completion, the function returns a value of zero.
Otherwise, the named message queue will be unchanged by this function call,
and the function returns a value of \-1 and sets the global variable
Va errno
to indicate the error.
Sh ERRORS
The
Fn mq_unlink
function fails if:
Bl -tag -width Er
It Bq Er EACCES
Permission is denied to unlink the named message queue.
It Bq Er ENAMETOOLONG
The length of the name argument exceeds
Brq Dv PATH_MAX
or a pathname
component is longer than
Brq Dv NAME_MAX .
It Bq Er ENOENT
The named message queue does not exist.
El
Sh SEE ALSO
Xr mq 3 ,
Xr mq_open 3
Sh STANDARDS
This function conforms to the
St -p1003.1-2001
standard.
Sh HISTORY
The
Fn mq_unlink
function first appeared in
Nx 5.0 .
Sh COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group.
In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document.
The original Standard can be obtained online at
Lk http://www.opengroup.org/unix/online.html .