/usr/share/doc/libglobus-common-dev/html/group__globus__thread__key.html is in libglobus-common-doc 14.10-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!-- THIS FILE IS AUTOMATICALLY GENERATED FROM THE GLOBUS SOURCE CODE
DO NOT MODIFY.
-->
<title>Globus Reference Manual</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body>
<!-- Generated by Doxygen 1.8.5 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__globus__thread__key.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Thread-Specific Storage<div class="ingroups"><a class="el" href="group__globus__thread.html">Threading</a></div></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Thread-Specific Storage:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__globus__thread__key.png" border="0" alt="" usemap="#group____globus____thread____key"/>
<map name="group____globus____thread____key" id="group____globus____thread____key">
<area shape="rect" id="node1" href="group__globus__thread.html" title="The Globus runtime includes support for portably creating threads on POSIX and Windows systems..." alt="" coords="6,5,85,32"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac1e87a67ba01b481cab00e58c04066f9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__thread__key.html#gac1e87a67ba01b481cab00e58c04066f9">globus_thread_key_create</a> (<a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> *key, <a class="el" href="group__globus__thread.html#gab9a4db7600579bd5aad4383fa57551d9">globus_thread_key_destructor_func_t</a> destructor)</td></tr>
<tr class="separator:gac1e87a67ba01b481cab00e58c04066f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga3a0ea6cd8557e23d25ca4bb4abac205a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__thread__key.html#ga3a0ea6cd8557e23d25ca4bb4abac205a">globus_thread_key_delete</a> (<a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> key)</td></tr>
<tr class="separator:ga3a0ea6cd8557e23d25ca4bb4abac205a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga54b93ce20069e0616e5b05e2be49d240"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__thread__key.html#ga54b93ce20069e0616e5b05e2be49d240">globus_thread_getspecific</a> (<a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> key)</td></tr>
<tr class="separator:ga54b93ce20069e0616e5b05e2be49d240"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga576439a7030a7e1dc81da6c36d05655f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__globus__thread__key.html#ga576439a7030a7e1dc81da6c36d05655f">globus_thread_setspecific</a> (<a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> key, void *value)</td></tr>
<tr class="separator:ga576439a7030a7e1dc81da6c36d05655f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>The <a class="el" href="unionglobus__thread__key__t.html" title="Thread-specific data key. ">globus_thread_key_t</a> data type acts as a key to thread-specific storage. For each key created by <a class="el" href="group__globus__thread__key.html#gac1e87a67ba01b481cab00e58c04066f9" title="Create a key for thread-specific storage. ">globus_thread_key_create()</a>, each thread may store and retrieve its own value. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gac1e87a67ba01b481cab00e58c04066f9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int globus_thread_key_create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> * </td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__globus__thread.html#gab9a4db7600579bd5aad4383fa57551d9">globus_thread_key_destructor_func_t</a> </td>
<td class="paramname"><em>destructor</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a key for thread-specific storage. </p>
<pre class="fragment">The globus_thread_key_create() function creates a new key for
thread-specific data. The new key will be available for all threads
to store a distinct value. If the function pointer @a destructor
is non-NULL, then that function will be invoked when a thread exits
that has a non-NULL value associated with the key.
</pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Pointer to be set to the new key. </td></tr>
<tr><td class="paramname">destructor</td><td>Pointer to a function to call when a thread exits to free the key's value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, globus_thread_create_key() will create a new key to thread-local storage and return GLOBUS_SUCCESS. If an error occurs, then the value of <em>key</em> is undefined and globus_thread_create_key() returns an implementation-specific non-zero error value. </dd></dl>
</div>
</div>
<a class="anchor" id="ga3a0ea6cd8557e23d25ca4bb4abac205a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int globus_thread_key_delete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> </td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete a thread-local storage key. </p>
<pre class="fragment">The globus_thread_key_delete() function deletes the key used for a
thread-local storage association. The destructor function for this
key will no longer be called after this function returns. The behavior
of subsequent calls to globus_thread_getspecific() or
globus_thread_setspecific() with this key will be undefined.
</pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Key to destroy.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, <a class="el" href="group__globus__thread__key.html#ga3a0ea6cd8557e23d25ca4bb4abac205a" title="Delete a thread-local storage key. ">globus_thread_key_delete()</a> will delete a thread-local storage key and return GLOBUS_SUCCESS. If an error occurs, then the value of <em>key</em> is undefined and globus_thread_create_key() returns an implementation-specific non-zero error value. </dd></dl>
</div>
</div>
<a class="anchor" id="ga54b93ce20069e0616e5b05e2be49d240"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* globus_thread_getspecific </td>
<td>(</td>
<td class="paramtype"><a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> </td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a thread-specific data value. </p>
<pre class="fragment">The globus_thread_getspecific() function returns the value associated
with the thread-specific data key passed as its first parameter. This
function returns NULL if the value has not been set by the current
thread. The return value is undefined if the key is not valid.
</pre> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Thread-specific data key to look up. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value passed to a previous call to <a class="el" href="group__globus__thread__key.html#ga576439a7030a7e1dc81da6c36d05655f" title="Set a thread-specific data value. ">globus_thread_setspecific()</a> in the current thread for this key. </dd></dl>
</div>
</div>
<a class="anchor" id="ga576439a7030a7e1dc81da6c36d05655f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int globus_thread_setspecific </td>
<td>(</td>
<td class="paramtype"><a class="el" href="unionglobus__thread__key__t.html">globus_thread_key_t</a> </td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>value</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a thread-specific data value. </p>
<pre class="fragment">The globus_thread_setspecific() function associates a thread-specific
value with a data key. If the key had a previous value set in the
current thread, it is replaced, but the destructor function is not
called for the old value.
</pre> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Thread-specific data key to store. </td></tr>
<tr><td class="paramname">value</td><td>A pointer to data to store as the thread-specific data for this thread. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, <a class="el" href="group__globus__thread__key.html#ga576439a7030a7e1dc81da6c36d05655f" title="Set a thread-specific data value. ">globus_thread_setspecific()</a> stores value in the thread-specific data for the specified key and returns GLOBUS_SUCCESS. If an error occurs, <a class="el" href="group__globus__thread__key.html#ga576439a7030a7e1dc81da6c36d05655f" title="Set a thread-specific data value. ">globus_thread_setspecific()</a> returns an implementation-specific non-zero error code and does not modify the key's value for this thread. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<hr>
<p align="center">
<a href="http://www.globus.org/toolkit/about.html" target="_top">about globus</a> |
<a href="http://www.globus.org/toolkit/" target="_top">globus toolkit</a> |
<a href="https://dev.globus.org/wiki/Welcome/" target="_top">dev.globus</a>
<br>
<br>
Comments? <a href="mailto:webmaster@globus.org">webmaster@globus.org</a>
</body>
</html>
|