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

Reply via email to