67 many kernel objects to provide new unique names. It is also possible for you |
67 many kernel objects to provide new unique names. It is also possible for you |
68 to write your own unique name generator.</p></section> |
68 to write your own unique name generator.</p></section> |
69 <section id="GUID-23075EA6-3B4F-4643-AF48-543650D821D8"><title>Passing stack |
69 <section id="GUID-23075EA6-3B4F-4643-AF48-543650D821D8"><title>Passing stack |
70 variables or temporary variables to an asynchronous service</title><fig id="GUID-693794EA-6FB9-489D-823C-C2EA7AA6ACC2"> |
70 variables or temporary variables to an asynchronous service</title><fig id="GUID-693794EA-6FB9-489D-823C-C2EA7AA6ACC2"> |
71 <title>Passing data on the stack</title> |
71 <title>Passing data on the stack</title> |
72 <image href="GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e16489_href.png" placement="inline"/> |
72 <image href="GUID-0CDD535C-9F46-43F3-A1CC-1A4A0E74629A_d0e17786_href.png" placement="inline"/> |
73 </fig><p>When execution leaves a function, the variables that are local to |
73 </fig><p>When execution leaves a function, the variables that are local to |
74 the function are deallocated from the stack. If you pass local variables as |
74 the function are deallocated from the stack. If you pass local variables as |
75 parameters to an asynchronous function, you must make sure that the other |
75 parameters to an asynchronous function, you must make sure that the other |
76 thread's execution happens before the data is removed from the stack. It is |
76 thread's execution happens before the data is removed from the stack. It is |
77 much better to use objects that persist over the lifetime of an asynchronous |
77 much better to use objects that persist over the lifetime of an asynchronous |