PSET_BIND(2) System Calls PSET_BIND(2) NNAAMMEE pset_bind - bind LWPs to a set of processors SSYYNNOOPPSSIISS #include iinntt ppsseett__bbiinndd(ppsseettiidd__tt _p_s_e_t, iiddttyyppee__tt _i_d_t_y_p_e, iidd__tt _i_d, ppsseettiidd__tt **_o_p_s_e_t); DDEESSCCRRIIPPTTIIOONN The ppsseett__bbiinndd(()) function binds the LLWWPP or set of LLWWPPss specified by _i_d_t_y_p_e and _i_d to the processor set specified by _p_s_e_t. If _o_p_s_e_t is not _N_U_L_L, ppsseett__bbiinndd(()) sets the ppsseettiidd__tt variable pointed to by _o_p_s_e_t to the previous processor set binding of one of the specified LLWWPP, or to PPSS__NNOONNEE if the selected LLWWPP was not bound. If _i_d_t_y_p_e is PP__PPIIDD, the binding affects all LLWWPPs of the process with process IIDD (PID) _i_d. If _i_d_t_y_p_e is PP__LLWWPPIIDD, the binding affects the LLWWPP of the current process with LLWWPP IIDD _i_d. If _i_d_t_y_p_e is PP__TTAASSKKIIDD, the binding affects all LWPs of all processes with task ID _i_d. If _i_d_t_y_p_e is PP__PPRROOJJIIDD, the binding affects all LWPs of all processes with project ID _i_d. If _i_d_t_y_p_e is PP__ZZOONNEEIIDD, the binding affects all LWPs of all processes with zone ID _i_d. If _i_d_t_y_p_e is PP__CCTTIIDD, the binding affects all LWPs of all processes with process contract ID _i_d. If _i_d is PP__MMYYIIDD, the specified LWP, process, task, process, zone, or process contract is the current one. If _p_s_e_t is PPSS__NNOONNEE, the processor set bindings of the specified LWPs are cleared. If _p_s_e_t is PPSS__QQUUEERRYY, the processor set bindings are not changed. If _p_s_e_t is PPSS__MMYYIIDD, the specified LWPs are bound to the same processor set as the caller. If the caller is not bound to a processor set, the processor set bindings are cleared. The {PPRRIIVV__SSYYSS__RREESS__CCOONNFFIIGG} privilege must be asserted in the effective set of the calling process or _p_s_e_t must be PPSS__QQUUEERRYY. LWPs that have been bound to a processor with pprroocceessssoorr__bbiinndd(2) may also be bound to a processor set if the processor is part of the processor set. If this occurs, the binding to the processor remains in effect. If the processor binding is later removed, the processor set binding becomes effective. Processor set bindings are inherited across ffoorrkk(2) and eexxeecc(2). RREETTUURRNN VVAALLUUEESS Upon successful completion, 0 is returned. Otherwise, -1 is returned and eerrrrnnoo is set to indicate the error. EERRRROORRSS The ppsseett__bbiinndd(()) function will fail if: EEBBUUSSYY One of the LLWWPPs is bound to a processor, and the specified processor set does not include that processor. EEFFAAUULLTT The location pointed to by _o_p_s_e_t was not _N_U_L_L and not writable by the user. EEIINNVVAALL An invalid processor set IIDD was specified; or _i_d_t_y_p_e was not PP__PPIIDD, PP__LLWWPPIIDD, PP__PPRROOJJIIDD, PP__TTAASSKKIIDD, PP__ZZOONNEEIIDD, or PP__CCTTIIDD. EENNOOTTSSUUPP The pools facility is active. See ppoooollaaddmm(1M) and ppooooll__sseett__ssttaattuuss(3POOL) for information about enabling and disabling the pools facility. Processes can be bound to pools using the ppoooollbbiinndd(1M) utility or the ppooooll__sseett__bbiinnddiinngg(3POOL) function. Binding a system process to a processor set is not supported. EEPPEERRMM The {PPRRIIVV__PPRROOCC__OOWWNNEERR} is not asserted in the effective set of the calling process and either the real or effective user ID of the calling process does not match the real or effective user IIDD of one of the LWPs being bound, or the processor set from which one or more of the LWPs are being unbound has the PPSSEETT__NNOOEESSCCAAPPEE attribute set and {PPRRIIVV__SSYYSS__RREESS__CCOONNFFIIGG) is not asserted in the effective set of the calling process. See ppsseett__sseettaattttrr(2) for more information about processor set attributes. EESSRRCCHH No processes, LLWWPPs, or tasks were found to match the criteria specified by _i_d_t_y_p_e and _i_d. AATTTTRRIIBBUUTTEESS See aattttrriibbuutteess(5) for descriptions of the following attributes: +--------------------+-------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +--------------------+-------------------+ |Interface Stability | Committed | +--------------------+-------------------+ |MT-Level | Async-Signal-Safe | +--------------------+-------------------+ SSEEEE AALLSSOO ppbbiinndd(1M), ppoooollaaddmm(1M), ppoooollbbiinndd(1M), ppssrrsseett(1M), eexxeecc(2), ffoorrkk(2), pprroocceessssoorr__bbiinndd(2), ppsseett__ccrreeaattee(2), ppsseett__iinnffoo(2), ppsseett__sseettaattttrr(2), ppooooll__sseett__bbiinnddiinngg(3POOL), ppooooll__sseett__ssttaattuuss(3POOL), ppsseett__ggeettllooaaddaavvgg(3C), pprroocceessss(4), pprroojjeecctt(4), aattttrriibbuutteess(5), pprriivviilleeggeess(5) March 13, 2009 PSET_BIND(2)