Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: door_xcreate - extended door creation interface for private doors 1.2. Name of Document Author/Supplier: Author: Gavin Maltby 1.3 Date of This Document: 13 October, 2009 1.5. Email Aliases: 1.5.1. Responsible Manager: sridhar.yedunuthula at sun.com 1.5.2. Responsible Engineer: gavin.maltby at sun.com
4. Technical Description: 4.1. Details: A new member is added to the doors API - door_xcreate, dedicated to the creation of private (as in a having a dedicated pool of server threads) doors. This case seeks Micro/Patch binding (additional libraries that depend on this interface will require that binding). See the door_xcreate(3C) manpage in the case materials. Points to note: o This interface allows the appointment of a door server thread creation function on a per-door basis, something that is not possible with the existing door_create(3C) and door_server_create(3C) interfaces. This facility is the primary reason for the introduction of this interface - without it the use of door servers in general-purpose system libraries is problematic since the thread creation function is shared with the application which may itself offer a door server. o Through the provision of a library-supplied thread startup function that the developer is required to use for newly-created door server threads, this interface also simplifies the creation of private doors. When using door_xcreate(3C) the developer is not responsible for synchronizing the newly-created thread with the return of door_create, nor for calling door_bind(3C) for the new thread or causing the thread to enter service via door_return(3C). o The (Committed) door_create(3C) interface is unchanged in both interface and semantics. 4.5. Interfaces: Interface Stability ----------------------- ------------ libc`door_xcreate Committed libdoor`door_xcreate Uncommitted (see below) The libdoor library has been obsoleted in SunOS 5.11, so the main addition is to libc alongside existing Committed door interfaces there. Since this case seeks Micro/Patch binding, however, we will add the interface to libdoor. Note that libdoor has only SUNWprivate_1.1 interfaces, hence the Uncommitted when used via that library. 4.6. Doc Impact: New manpage door_xcreate(3C) - see case materials. Minor updates to door_create(3C) and libc(3lib) to reference the new interface. 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: ON 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open