1 2 3 4 5 6 7 8 9 10 11 12
13 14 15
16
17 import xdc.runtime.IGateProvider;
18 import xdc.runtime.knl.IGateThreadSupport;
19
20 /*!
21 * ======== GateThread ========
22 * Provides protection of critical sections across threads.
23 *
24 * This module provides services through its proxy
25 * IGateThreadSupport interface. It has a module wide config parameter
26 * {@link #Proxy} which needs to be bound to an OS specific delegate before
27 * this module can be used.
28 *
29 * Here is an example showing how the proxy is bound to an BIOS 6.x specific
30 * delegate.
31 *
32 * @p(code)
33 * var GateThread = xdc.useModule('xdc.runtime.knl.GateThread');
34 * GateThread.Proxy =
35 * xdc.useModule('ti.sysbios.xdcruntime.GateThreadSupport');
36 * @p
37 *
38 * Typically the package containing the delegates have a Settings module that
39 * will bind all {@link xdc.runtime.knl} proxies. The following
40 * example sets up all the xdc.runtime.knl proxies.
41 *
42 * @p(code)
43 * xdc.useModule("ti.sysbios.xdcruntime.Settings");
44 * @p
45 */
46 @InstanceInitError
47 @InstanceFinalize
48
49 module GateThread inherits IGateProvider
50 {
51 /*! Proxy that needs to be bound to an OS specific delegate. */
52 proxy Proxy inherits IGateThreadSupport;
53
54 internal:
55
56 struct Instance_State {
57 Proxy.Handle proxyHandle;
58 }
59
60 }
61 62 63
64