Print this page


Split Close
Expand all
Collapse all
          --- old/src/os/solaris/vm/attachListener_solaris.cpp
          +++ new/src/os/solaris/vm/attachListener_solaris.cpp
↓ open down ↓ 328 lines elided ↑ open up ↑
 329  329        } else {
 330  330          op->set_socket(s[0]);
 331  331          return_fd = s[1];
 332  332          SolarisAttachListener::enqueue(op);
 333  333        }
 334  334      }
 335  335  
 336  336      // Return 0 (success) + file descriptor, or non-0 (error)
 337  337      if (res == 0) {
 338  338        door_desc_t desc;
 339      -      desc.d_attributes = DOOR_DESCRIPTOR;
      339 +      desc.d_attributes = DOOR_DESCRIPTOR | DOOR_RELEASE;
 340  340        desc.d_data.d_desc.d_descriptor = return_fd;
 341  341        door_return((char*)&res, sizeof(res), &desc, 1);
 342  342      } else {
 343  343        door_return((char*)&res, sizeof(res), NULL, 0);
 344  344      }
 345  345    }
 346  346  }
 347  347  
 348  348  // atexit hook to detach the door and remove the file
 349  349  extern "C" {
↓ open down ↓ 354 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX