Name services team,

Per http://www.opensolaris.org/jive/message.jspa?messageID=177109#178420
I made a list of libscf calls which can block on name service calls.  It
is included at the end of this mail.  From you I ask for a list of name
service calls which might block on libscf calls.  An exhaustive list
doesn't seem to be necessary at this time, since as you can see from my
list, libscf calls only block on getuseruid().

I fully expect that our lists will portray cycles which represent
possible deadlocks between svc.configd and nscd.  In that case I believe
we will have to negotiate qualifiers for the semantics which will break
those cycles.

Finally, once we agree on the blocking semantics of our interfaces,
I think we should establish an authoritative location for them, which
will probably imply amendment procedures.  Block comments in the source
base or an ARC contract might be good candidates.


David


Public libscf functions which might block on name service calls:

  - scf_instance_add_pg(),
    scf_instance_delete(),
    scf_iter_next_value(),
    scf_pg_delete(),
    scf_property_get_value(),
    scf_scope_add_service(),
    scf_service_add_instance(),
    scf_service_add_pg(),
    scf_service_delete(),
    scf_transaction_commit(), and
    scf_transaction_start()

    might block on getuseruid().

No other libscf functions will block on name service calls.

Reply via email to