(C) 1998 AROS - The Amiga Research OS


NAME
#include <utility/name.h>
#include <proto/utility.h>

void RemNamedObject (object , message)

LOCATION
In UtilityBase at offset 44

SYNOPSIS
struct NamedObject * object
struct Message * message

FUNCTION
Remove a NamedObject from a namespace.

If the NamedObject cannot be removed at the time of this call, then the call will return without removing the NamedObject. It will mark the NamedObject as "waiting for removal".

When the NamedObject is ready to be freed, the supplied message will be ReplyMsg()'d with the message->mn_Node.ln_Name field containing either: - the address of the NamedObject that was removed. In this case you can free the NamedObject yourself. - NULL. In this case, another Task has freed the NamedObject, and you should not do so.

INPUTS
object
The NamedObject to attempt to remove.
message
The message to send. This message is a standard Exec Message, which MUST have the mn_ReplyPort field correctly set. The mn_Node.ln_Name field will contain the address of the NamedObject or NULL upon arrival at your port.

RESULT
The NamedObject will be removed if possible, or marked for removal at the next best moment.

EXAMPLE

SEE ALSO
AttemptRemNamedObject(), AddNamedObject()

NOTES
Since this function effectively does a ReleaseNamedObject(), you must have found this object first.

BUGS

INTERNALS
AttemptRemNamedObject() calls this function with a NULL message, expecting that we remove the object if possible, or just return.

ReleaseNamedObject() also calls this with a NULL message.

HISTORY
20.10.1998 hkiel
Amiga Research OS
20.08.1997 digulla
Polish.

Renamed utility_intern.h to intern.h.

09.02.1997 iaint
Fixed some nasty bugs in NamedObjects
27.01.1997 digulla
Added #include <proto/exec.h>
27.01.1997 ldp
Polish
18.12.1996 iaint
NamedObjects