Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
ruby21
/
share
/
doc
/
ruby
/
capi
/
html
/
db
/
dd5
/
//opt/alt/ruby21/share/doc/ruby/capi/html/db/dd5/thread_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Ruby: include/ruby/thread.h File Reference</title> <link href="../../tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="../../jquery.js"></script> <script type="text/javascript" src="../../dynsections.js"></script> <link href="../../doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Ruby  <span id="projectnumber">2.1.10p492(2016-04-01revision54464)</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript" src="../../menudata.js"></script> <script type="text/javascript" src="../../menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('../../',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_82434f6a8a39055b35115fc8d4134985.html">ruby</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">thread.h File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include "<a class="el" href="../../db/d2e/intern_8h_source.html">ruby/intern.h</a>"</code><br /> </div> <p><a href="../../db/dd5/thread_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:aa3f21b9c9afc9020902bc05861cd1e98"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dd5/thread_8h.html#aa3f21b9c9afc9020902bc05861cd1e98">RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER</a>   0x01</td></tr> <tr class="separator:aa3f21b9c9afc9020902bc05861cd1e98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac68da3f59d8f2a0eac775c14a5c164e1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dd5/thread_8h.html#ac68da3f59d8f2a0eac775c14a5c164e1">RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_</a></td></tr> <tr class="separator:ac68da3f59d8f2a0eac775c14a5c164e1"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a92948c2fda94f8aa2c7e62de0f244b05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d90/missing_8h.html#a56aad4cc0d05a0f8789111dfe1685e34">RUBY_SYMBOL_EXPORT_BEGIN</a> void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dd5/thread_8h.html#a92948c2fda94f8aa2c7e62de0f244b05">rb_thread_call_with_gvl</a> (void *(*<a class="el" href="../../dc/dd1/ossl__ssl_8c.html#a86771351f4ef469ab9c94739a64fd7ea">func</a>)(void *), void *data1)</td></tr> <tr class="separator:a92948c2fda94f8aa2c7e62de0f244b05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad21de1b2d50de18b428dba6bd45b1c50"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dd5/thread_8h.html#ad21de1b2d50de18b428dba6bd45b1c50">rb_thread_call_without_gvl</a> (void *(*<a class="el" href="../../dc/dd1/ossl__ssl_8c.html#a86771351f4ef469ab9c94739a64fd7ea">func</a>)(void *), void *data1, <a class="el" href="../../db/d2e/intern_8h.html#a9054f0c75a418c4dc919eb47616f3d71">rb_unblock_function_t</a> *ubf, void *data2)</td></tr> <tr class="separator:ad21de1b2d50de18b428dba6bd45b1c50"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a082defc84db5e00f2a7ae83d093a46d2"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dd5/thread_8h.html#a082defc84db5e00f2a7ae83d093a46d2">rb_thread_call_without_gvl2</a> (void *(*<a class="el" href="../../dc/dd1/ossl__ssl_8c.html#a86771351f4ef469ab9c94739a64fd7ea">func</a>)(void *), void *data1, <a class="el" href="../../db/d2e/intern_8h.html#a9054f0c75a418c4dc919eb47616f3d71">rb_unblock_function_t</a> *ubf, void *data2)</td></tr> <tr class="separator:a082defc84db5e00f2a7ae83d093a46d2"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="ac68da3f59d8f2a0eac775c14a5c164e1"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac68da3f59d8f2a0eac775c14a5c164e1">◆ </a></span>RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../db/dd5/thread_8h_source.html#l00034">34</a> of file <a class="el" href="../../db/dd5/thread_8h_source.html">thread.h</a>.</p> </div> </div> <a id="aa3f21b9c9afc9020902bc05861cd1e98"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa3f21b9c9afc9020902bc05861cd1e98">◆ </a></span>RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER   0x01</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../db/dd5/thread_8h_source.html#l00033">33</a> of file <a class="el" href="../../db/dd5/thread_8h_source.html">thread.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a92948c2fda94f8aa2c7e62de0f244b05"></a> <h2 class="memtitle"><span class="permalink"><a href="#a92948c2fda94f8aa2c7e62de0f244b05">◆ </a></span>rb_thread_call_with_gvl()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="../../d3/d90/missing_8h.html#a56aad4cc0d05a0f8789111dfe1685e34">RUBY_SYMBOL_EXPORT_BEGIN</a> void* rb_thread_call_with_gvl </td> <td>(</td> <td class="paramtype">void *(*)(void *) </td> <td class="paramname"><em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data1</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d3/de7/thread_8c_source.html#l01454">1454</a> of file <a class="el" href="../../d3/de7/thread_8c_source.html">thread.c</a>.</p> <p class="reference">References <a class="el" href="../../d8/d32/vm__core_8h_source.html#l00501">rb_unblock_callback::arg</a>, <a class="el" href="../../d3/de7/thread_8c_source.html#l01204">blocking_region_begin()</a>, <a class="el" href="../../d8/d32/vm__core_8h_source.html#l00567">rb_thread_struct::blocking_region_buffer</a>, <a class="el" href="../../d3/de7/thread_8c_source.html#l01222">blocking_region_end()</a>, <a class="el" href="../../dd/dd0/eval__intern_8h_source.html#l00024">EXIT_FAILURE</a>, <a class="el" href="../../d1/d5c/nkf_8h_source.html#l00174">FALSE</a>, <a class="el" href="../../d8/d32/vm__core_8h_source.html#l00500">rb_unblock_callback::func</a>, <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00770">if()</a>, <a class="el" href="../../db/dcc/error_8c_source.html#l00327">rb_bug()</a>, and <a class="el" href="../../d8/d32/vm__core_8h_source.html#l00589">rb_thread_struct::unblock</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d8/d16/gc_8c_source.html#l05095">garbage_collect_with_gvl()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l09869">maygvl_copy_stream_continue_p()</a>, <a class="el" href="../../d8/d16/gc_8c_source.html#l05843">negative_size_allocation_error()</a>, <a class="el" href="../../d8/d16/gc_8c_source.html#l05867">ruby_memerror()</a>, and <a class="el" href="../../db/d74/zlib_8c_source.html#l00963">zstream_run_func()</a>.</p> </div> </div> <a id="ad21de1b2d50de18b428dba6bd45b1c50"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad21de1b2d50de18b428dba6bd45b1c50">◆ </a></span>rb_thread_call_without_gvl()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* rb_thread_call_without_gvl </td> <td>(</td> <td class="paramtype">void *(*)(void *) </td> <td class="paramname"><em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../db/d2e/intern_8h.html#a9054f0c75a418c4dc919eb47616f3d71">rb_unblock_function_t</a> * </td> <td class="paramname"><em>ubf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="reference">Referenced by <a class="el" href="../../d1/dcc/bignum_8c_source.html#l02598">bigdivrem_restoring()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l10319">copy_stream_body()</a>, <a class="el" href="../../df/d08/ossl__pkey__dh_8c_source.html#l00103">dh_generate()</a>, <a class="el" href="../../d7/d47/ossl__pkey__dsa_8c_source.html#l00100">dsa_generate()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l04146">maygvl_close()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l04167">maygvl_fclose()</a>, <a class="el" href="../../d6/d13/file_8c_source.html#l05398">rb_file_load_ok()</a>, <a class="el" href="../../d3/de8/raddrinfo_8c_source.html#l00259">rb_getaddrinfo()</a>, <a class="el" href="../../d3/de8/raddrinfo_8c_source.html#l00334">rb_getnameinfo()</a>, <a class="el" href="../../df/d0a/io_8c_source.html#l05368">rb_sysopen_internal()</a>, <a class="el" href="../../d0/d85/process_8c_source.html#l00758">rb_waitpid()</a>, <a class="el" href="../../df/da1/ossl__pkey__rsa_8c_source.html#l00098">rsa_generate()</a>, and <a class="el" href="../../db/d74/zlib_8c_source.html#l01027">zstream_run()</a>.</p> </div> </div> <a id="a082defc84db5e00f2a7ae83d093a46d2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a082defc84db5e00f2a7ae83d093a46d2">◆ </a></span>rb_thread_call_without_gvl2()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* rb_thread_call_without_gvl2 </td> <td>(</td> <td class="paramtype">void *(*)(void *) </td> <td class="paramname"><em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../db/d2e/intern_8h.html#a9054f0c75a418c4dc919eb47616f3d71">rb_unblock_function_t</a> * </td> <td class="paramname"><em>ubf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d3/de7/thread_8c_source.html#l01370">1370</a> of file <a class="el" href="../../d3/de7/thread_8c_source.html">thread.c</a>.</p> <p class="reference">References <a class="el" href="../../d3/de7/thread_8c_source.html#l01256">call_without_gvl()</a>, <a class="el" href="../../dc/dd1/ossl__ssl_8c_source.html#l00113">func</a>, and <a class="el" href="../../d1/d5c/nkf_8h_source.html#l00175">TRUE</a>.</p> <p class="reference">Referenced by <a class="el" href="../../df/d0a/io_8c_source.html#l01029">io_flush_buffer_async2()</a>, and <a class="el" href="../../df/d0a/io_8c_source.html#l00967">rb_write_internal2()</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="../../doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>