7162955: Attach api on Solaris, too many open files

Release server-side socket after client receives it.

Reviewed-by: sla, dsamersoff, dcubed, acorn
This commit is contained in:
Dean Long 2012-04-26 16:24:15 -04:00 committed by Dean Long
parent 6de80de07f
commit ea89242447

View File

@ -336,7 +336,9 @@ extern "C" {
// Return 0 (success) + file descriptor, or non-0 (error)
if (res == 0) {
door_desc_t desc;
desc.d_attributes = DOOR_DESCRIPTOR;
// DOOR_RELEASE flag makes sure fd is closed after passing it to
// the client. See door_return(3DOOR) man page.
desc.d_attributes = DOOR_DESCRIPTOR | DOOR_RELEASE;
desc.d_data.d_desc.d_descriptor = return_fd;
door_return((char*)&res, sizeof(res), &desc, 1);
} else {