NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO
cc [ flag ... ] file ... -ldoor -lthread [ library ... ] #include <door.h>int door_return(char *data_ptr, size_t data_size, door_desc_t *desc_ptr, uint_t num_desc);
The door_return() function returns from a door invocation. It returns control to the thread that issued the associated door_call() and blocks waiting for the next door invocation. See door_call(3X). Results, if any, from the door invocation are passed back to the client in the buffers pointed to by data_prt and desc_ptr. If there is not a client associated with the door_return(), the calling thread discards the results and blocks waiting for the next door invocation.
Upon successful completion, door_return() does not return to the calling process. Upon failure, door_return() returns -1 to the calling process and sets errno to indicate the error.
The door_return() function fails and returns to the calling process if:
Invalid door_return() arguments were passed.
Thread is bound to a door that no longer exists.
The address of data_prt or desc_ptr is invalid.
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO