Server IP : 85.214.239.14 / Your IP : 3.145.88.111 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/self/root/srv/modoboa/env/lib64/python3.5/site-packages/gevent/resolver/ |
Upload File : |
<!DOCTYPE html> <!-- Generated by Cython 0.29.2 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cython: cares.pyx</title> <style type="text/css"> body.cython { font-family: courier; font-size: 12; } .cython.tag { } .cython.line { margin: 0em } .cython.code { font-size: 9; color: #444444; display: none; margin: 0px 0px 0px 8px; border-left: 8px none; } .cython.line .run { background-color: #B0FFB0; } .cython.line .mis { background-color: #FFB0B0; } .cython.code.run { border-left: 8px solid #B0FFB0; } .cython.code.mis { border-left: 8px solid #FFB0B0; } .cython.code .py_c_api { color: red; } .cython.code .py_macro_api { color: #FF7000; } .cython.code .pyx_c_api { color: #FF3000; } .cython.code .pyx_macro_api { color: #FF7000; } .cython.code .refnanny { color: #FFA000; } .cython.code .trace { color: #FFA000; } .cython.code .error_goto { color: #FFA000; } .cython.code .coerce { color: #008000; border: 1px dotted #008000 } .cython.code .py_attr { color: #FF0000; font-weight: bold; } .cython.code .c_attr { color: #0000FF; } .cython.code .py_call { color: #FF0000; font-weight: bold; } .cython.code .c_call { color: #0000FF; } .cython.score-0 {background-color: #FFFFff;} .cython.score-1 {background-color: #FFFFe7;} .cython.score-2 {background-color: #FFFFd4;} .cython.score-3 {background-color: #FFFFc4;} .cython.score-4 {background-color: #FFFFb6;} .cython.score-5 {background-color: #FFFFaa;} .cython.score-6 {background-color: #FFFF9f;} .cython.score-7 {background-color: #FFFF96;} .cython.score-8 {background-color: #FFFF8d;} .cython.score-9 {background-color: #FFFF86;} .cython.score-10 {background-color: #FFFF7f;} .cython.score-11 {background-color: #FFFF79;} .cython.score-12 {background-color: #FFFF73;} .cython.score-13 {background-color: #FFFF6e;} .cython.score-14 {background-color: #FFFF6a;} .cython.score-15 {background-color: #FFFF66;} .cython.score-16 {background-color: #FFFF62;} .cython.score-17 {background-color: #FFFF5e;} .cython.score-18 {background-color: #FFFF5b;} .cython.score-19 {background-color: #FFFF57;} .cython.score-20 {background-color: #FFFF55;} .cython.score-21 {background-color: #FFFF52;} .cython.score-22 {background-color: #FFFF4f;} .cython.score-23 {background-color: #FFFF4d;} .cython.score-24 {background-color: #FFFF4b;} .cython.score-25 {background-color: #FFFF48;} .cython.score-26 {background-color: #FFFF46;} .cython.score-27 {background-color: #FFFF44;} .cython.score-28 {background-color: #FFFF43;} .cython.score-29 {background-color: #FFFF41;} .cython.score-30 {background-color: #FFFF3f;} .cython.score-31 {background-color: #FFFF3e;} .cython.score-32 {background-color: #FFFF3c;} .cython.score-33 {background-color: #FFFF3b;} .cython.score-34 {background-color: #FFFF39;} .cython.score-35 {background-color: #FFFF38;} .cython.score-36 {background-color: #FFFF37;} .cython.score-37 {background-color: #FFFF36;} .cython.score-38 {background-color: #FFFF35;} .cython.score-39 {background-color: #FFFF34;} .cython.score-40 {background-color: #FFFF33;} .cython.score-41 {background-color: #FFFF32;} .cython.score-42 {background-color: #FFFF31;} .cython.score-43 {background-color: #FFFF30;} .cython.score-44 {background-color: #FFFF2f;} .cython.score-45 {background-color: #FFFF2e;} .cython.score-46 {background-color: #FFFF2d;} .cython.score-47 {background-color: #FFFF2c;} .cython.score-48 {background-color: #FFFF2b;} .cython.score-49 {background-color: #FFFF2b;} .cython.score-50 {background-color: #FFFF2a;} .cython.score-51 {background-color: #FFFF29;} .cython.score-52 {background-color: #FFFF29;} .cython.score-53 {background-color: #FFFF28;} .cython.score-54 {background-color: #FFFF27;} .cython.score-55 {background-color: #FFFF27;} .cython.score-56 {background-color: #FFFF26;} .cython.score-57 {background-color: #FFFF26;} .cython.score-58 {background-color: #FFFF25;} .cython.score-59 {background-color: #FFFF24;} .cython.score-60 {background-color: #FFFF24;} .cython.score-61 {background-color: #FFFF23;} .cython.score-62 {background-color: #FFFF23;} .cython.score-63 {background-color: #FFFF22;} .cython.score-64 {background-color: #FFFF22;} .cython.score-65 {background-color: #FFFF22;} .cython.score-66 {background-color: #FFFF21;} .cython.score-67 {background-color: #FFFF21;} .cython.score-68 {background-color: #FFFF20;} .cython.score-69 {background-color: #FFFF20;} .cython.score-70 {background-color: #FFFF1f;} .cython.score-71 {background-color: #FFFF1f;} .cython.score-72 {background-color: #FFFF1f;} .cython.score-73 {background-color: #FFFF1e;} .cython.score-74 {background-color: #FFFF1e;} .cython.score-75 {background-color: #FFFF1e;} .cython.score-76 {background-color: #FFFF1d;} .cython.score-77 {background-color: #FFFF1d;} .cython.score-78 {background-color: #FFFF1c;} .cython.score-79 {background-color: #FFFF1c;} .cython.score-80 {background-color: #FFFF1c;} .cython.score-81 {background-color: #FFFF1c;} .cython.score-82 {background-color: #FFFF1b;} .cython.score-83 {background-color: #FFFF1b;} .cython.score-84 {background-color: #FFFF1b;} .cython.score-85 {background-color: #FFFF1a;} .cython.score-86 {background-color: #FFFF1a;} .cython.score-87 {background-color: #FFFF1a;} .cython.score-88 {background-color: #FFFF1a;} .cython.score-89 {background-color: #FFFF19;} .cython.score-90 {background-color: #FFFF19;} .cython.score-91 {background-color: #FFFF19;} .cython.score-92 {background-color: #FFFF19;} .cython.score-93 {background-color: #FFFF18;} .cython.score-94 {background-color: #FFFF18;} .cython.score-95 {background-color: #FFFF18;} .cython.score-96 {background-color: #FFFF18;} .cython.score-97 {background-color: #FFFF17;} .cython.score-98 {background-color: #FFFF17;} .cython.score-99 {background-color: #FFFF17;} .cython.score-100 {background-color: #FFFF17;} .cython.score-101 {background-color: #FFFF16;} .cython.score-102 {background-color: #FFFF16;} .cython.score-103 {background-color: #FFFF16;} .cython.score-104 {background-color: #FFFF16;} .cython.score-105 {background-color: #FFFF16;} .cython.score-106 {background-color: #FFFF15;} .cython.score-107 {background-color: #FFFF15;} .cython.score-108 {background-color: #FFFF15;} .cython.score-109 {background-color: #FFFF15;} .cython.score-110 {background-color: #FFFF15;} .cython.score-111 {background-color: #FFFF15;} .cython.score-112 {background-color: #FFFF14;} .cython.score-113 {background-color: #FFFF14;} .cython.score-114 {background-color: #FFFF14;} .cython.score-115 {background-color: #FFFF14;} .cython.score-116 {background-color: #FFFF14;} .cython.score-117 {background-color: #FFFF14;} .cython.score-118 {background-color: #FFFF13;} .cython.score-119 {background-color: #FFFF13;} .cython.score-120 {background-color: #FFFF13;} .cython.score-121 {background-color: #FFFF13;} .cython.score-122 {background-color: #FFFF13;} .cython.score-123 {background-color: #FFFF13;} .cython.score-124 {background-color: #FFFF13;} .cython.score-125 {background-color: #FFFF12;} .cython.score-126 {background-color: #FFFF12;} .cython.score-127 {background-color: #FFFF12;} .cython.score-128 {background-color: #FFFF12;} .cython.score-129 {background-color: #FFFF12;} .cython.score-130 {background-color: #FFFF12;} .cython.score-131 {background-color: #FFFF12;} .cython.score-132 {background-color: #FFFF11;} .cython.score-133 {background-color: #FFFF11;} .cython.score-134 {background-color: #FFFF11;} .cython.score-135 {background-color: #FFFF11;} .cython.score-136 {background-color: #FFFF11;} .cython.score-137 {background-color: #FFFF11;} .cython.score-138 {background-color: #FFFF11;} .cython.score-139 {background-color: #FFFF11;} .cython.score-140 {background-color: #FFFF11;} .cython.score-141 {background-color: #FFFF10;} .cython.score-142 {background-color: #FFFF10;} .cython.score-143 {background-color: #FFFF10;} .cython.score-144 {background-color: #FFFF10;} .cython.score-145 {background-color: #FFFF10;} .cython.score-146 {background-color: #FFFF10;} .cython.score-147 {background-color: #FFFF10;} .cython.score-148 {background-color: #FFFF10;} .cython.score-149 {background-color: #FFFF10;} .cython.score-150 {background-color: #FFFF0f;} .cython.score-151 {background-color: #FFFF0f;} .cython.score-152 {background-color: #FFFF0f;} .cython.score-153 {background-color: #FFFF0f;} .cython.score-154 {background-color: #FFFF0f;} .cython.score-155 {background-color: #FFFF0f;} .cython.score-156 {background-color: #FFFF0f;} .cython.score-157 {background-color: #FFFF0f;} .cython.score-158 {background-color: #FFFF0f;} .cython.score-159 {background-color: #FFFF0f;} .cython.score-160 {background-color: #FFFF0f;} .cython.score-161 {background-color: #FFFF0e;} .cython.score-162 {background-color: #FFFF0e;} .cython.score-163 {background-color: #FFFF0e;} .cython.score-164 {background-color: #FFFF0e;} .cython.score-165 {background-color: #FFFF0e;} .cython.score-166 {background-color: #FFFF0e;} .cython.score-167 {background-color: #FFFF0e;} .cython.score-168 {background-color: #FFFF0e;} .cython.score-169 {background-color: #FFFF0e;} .cython.score-170 {background-color: #FFFF0e;} .cython.score-171 {background-color: #FFFF0e;} .cython.score-172 {background-color: #FFFF0e;} .cython.score-173 {background-color: #FFFF0d;} .cython.score-174 {background-color: #FFFF0d;} .cython.score-175 {background-color: #FFFF0d;} .cython.score-176 {background-color: #FFFF0d;} .cython.score-177 {background-color: #FFFF0d;} .cython.score-178 {background-color: #FFFF0d;} .cython.score-179 {background-color: #FFFF0d;} .cython.score-180 {background-color: #FFFF0d;} .cython.score-181 {background-color: #FFFF0d;} .cython.score-182 {background-color: #FFFF0d;} .cython.score-183 {background-color: #FFFF0d;} .cython.score-184 {background-color: #FFFF0d;} .cython.score-185 {background-color: #FFFF0d;} .cython.score-186 {background-color: #FFFF0d;} .cython.score-187 {background-color: #FFFF0c;} .cython.score-188 {background-color: #FFFF0c;} .cython.score-189 {background-color: #FFFF0c;} .cython.score-190 {background-color: #FFFF0c;} .cython.score-191 {background-color: #FFFF0c;} .cython.score-192 {background-color: #FFFF0c;} .cython.score-193 {background-color: #FFFF0c;} .cython.score-194 {background-color: #FFFF0c;} .cython.score-195 {background-color: #FFFF0c;} .cython.score-196 {background-color: #FFFF0c;} .cython.score-197 {background-color: #FFFF0c;} .cython.score-198 {background-color: #FFFF0c;} .cython.score-199 {background-color: #FFFF0c;} .cython.score-200 {background-color: #FFFF0c;} .cython.score-201 {background-color: #FFFF0c;} .cython.score-202 {background-color: #FFFF0c;} .cython.score-203 {background-color: #FFFF0b;} .cython.score-204 {background-color: #FFFF0b;} .cython.score-205 {background-color: #FFFF0b;} .cython.score-206 {background-color: #FFFF0b;} .cython.score-207 {background-color: #FFFF0b;} .cython.score-208 {background-color: #FFFF0b;} .cython.score-209 {background-color: #FFFF0b;} .cython.score-210 {background-color: #FFFF0b;} .cython.score-211 {background-color: #FFFF0b;} .cython.score-212 {background-color: #FFFF0b;} .cython.score-213 {background-color: #FFFF0b;} .cython.score-214 {background-color: #FFFF0b;} .cython.score-215 {background-color: #FFFF0b;} .cython.score-216 {background-color: #FFFF0b;} .cython.score-217 {background-color: #FFFF0b;} .cython.score-218 {background-color: #FFFF0b;} .cython.score-219 {background-color: #FFFF0b;} .cython.score-220 {background-color: #FFFF0b;} .cython.score-221 {background-color: #FFFF0b;} .cython.score-222 {background-color: #FFFF0a;} .cython.score-223 {background-color: #FFFF0a;} .cython.score-224 {background-color: #FFFF0a;} .cython.score-225 {background-color: #FFFF0a;} .cython.score-226 {background-color: #FFFF0a;} .cython.score-227 {background-color: #FFFF0a;} .cython.score-228 {background-color: #FFFF0a;} .cython.score-229 {background-color: #FFFF0a;} .cython.score-230 {background-color: #FFFF0a;} .cython.score-231 {background-color: #FFFF0a;} .cython.score-232 {background-color: #FFFF0a;} .cython.score-233 {background-color: #FFFF0a;} .cython.score-234 {background-color: #FFFF0a;} .cython.score-235 {background-color: #FFFF0a;} .cython.score-236 {background-color: #FFFF0a;} .cython.score-237 {background-color: #FFFF0a;} .cython.score-238 {background-color: #FFFF0a;} .cython.score-239 {background-color: #FFFF0a;} .cython.score-240 {background-color: #FFFF0a;} .cython.score-241 {background-color: #FFFF0a;} .cython.score-242 {background-color: #FFFF0a;} .cython.score-243 {background-color: #FFFF0a;} .cython.score-244 {background-color: #FFFF0a;} .cython.score-245 {background-color: #FFFF0a;} .cython.score-246 {background-color: #FFFF09;} .cython.score-247 {background-color: #FFFF09;} .cython.score-248 {background-color: #FFFF09;} .cython.score-249 {background-color: #FFFF09;} .cython.score-250 {background-color: #FFFF09;} .cython.score-251 {background-color: #FFFF09;} .cython.score-252 {background-color: #FFFF09;} .cython.score-253 {background-color: #FFFF09;} .cython.score-254 {background-color: #FFFF09;} </style> </head> <body class="cython"> <p><span style="border-bottom: solid 1px grey;">Generated by Cython 0.29.2</span></p> <p> <span style="background-color: #FFFF00">Yellow lines</span> hint at Python interaction.<br /> Click on a line that starts with a "<code>+</code>" to see the C code that Cython generated for it. </p> <p>Raw output: <a href="cares.c">cares.c</a></p> <div class="cython"><pre class="cython line score-0"> <span class="">001</span>: # Copyright (c) 2011-2012 Denis Bilenko. See LICENSE for details.</pre> <pre class="cython line score-0"> <span class="">002</span>: # Automatic pickling of cdef classes was added in 0.26. Unfortunately it</pre> <pre class="cython line score-0"> <span class="">003</span>: # seems to be buggy (at least for the `result` class) and produces code that</pre> <pre class="cython line score-0"> <span class="">004</span>: # can't compile ("local variable 'result' referenced before assignment").</pre> <pre class="cython line score-0"> <span class="">005</span>: # See https://github.com/cython/cython/issues/1786</pre> <pre class="cython line score-0"> <span class="">006</span>: # cython: auto_pickle=False</pre> <pre class="cython line score-0"> <span class="">007</span>: cimport libcares as cares</pre> <pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">008</span>: import sys</pre> <pre class='cython code score-8 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(__pyx_n_s_sys, 0, 0);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) <span class='error_goto'>__PYX_ERR(0, 8, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-0"> <span class="">009</span>: </pre> <pre class="cython line score-0"> <span class="">010</span>: from cpython.ref cimport Py_INCREF</pre> <pre class="cython line score-0"> <span class="">011</span>: from cpython.ref cimport Py_DECREF</pre> <pre class="cython line score-0"> <span class="">012</span>: from cpython.mem cimport PyMem_Malloc</pre> <pre class="cython line score-0"> <span class="">013</span>: from cpython.mem cimport PyMem_Free</pre> <pre class="cython line score-0"> <span class="">014</span>: </pre> <pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">015</span>: from _socket import gaierror</pre> <pre class='cython code score-19 '> __pyx_t_1 = <span class='py_c_api'>PyList_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_gaierror); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_gaierror); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_1, 0, __pyx_n_s_gaierror); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_Import</span>(__pyx_n_s_socket, __pyx_t_1, 0);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_ImportFrom</span>(__pyx_t_2, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_gaierror, __pyx_t_1) < 0) <span class='error_goto'>__PYX_ERR(0, 15, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">016</span>: </pre> <pre class="cython line score-0"> <span class="">017</span>: </pre> <pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">018</span>: __all__ = ['channel']</pre> <pre class='cython code score-13 '> __pyx_t_2 = <span class='py_c_api'>PyList_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_channel); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_channel); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 0, __pyx_n_s_channel); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_all, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">019</span>: </pre> <pre class="cython line score-0"> <span class="">020</span>: cdef object string_types</pre> <pre class="cython line score-0"> <span class="">021</span>: cdef object text_type</pre> <pre class="cython line score-0"> <span class="">022</span>: </pre> <pre class="cython line score-17" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">023</span>: if sys.version_info[0] >= 3:</pre> <pre class='cython code score-17 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_sys);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_2, __pyx_n_s_version_info);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_GetItemInt</span>(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = <span class='py_c_api'>PyObject_RichCompare</span>(__pyx_t_2, __pyx_int_3, Py_GE); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_IsTrue</span>(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) <span class='error_goto'>__PYX_ERR(0, 23, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L2; } </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">024</span>: string_types = str,</pre> <pre class='cython code score-8 '> __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)(&PyString_Type))); <span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)(&PyString_Type))); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, ((PyObject *)(&PyString_Type))); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_v_6gevent_8resolver_5cares_string_types); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_6gevent_8resolver_5cares_string_types, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">025</span>: text_type = str</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)(&PyString_Type))); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_v_6gevent_8resolver_5cares_text_type); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_6gevent_8resolver_5cares_text_type, ((PyObject *)(&PyString_Type))); <span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)(&PyString_Type))); </pre><pre class="cython line score-0"> <span class="">026</span>: else:</pre> <pre class="cython line score-12" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">027</span>: string_types = __builtins__.basestring,</pre> <pre class='cython code score-12 '> /*else*/ { <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_1, __pyx_n_s_builtins);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_1, __pyx_n_s_basestring);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = 0; <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_v_6gevent_8resolver_5cares_string_types); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_6gevent_8resolver_5cares_string_types, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">028</span>: text_type = __builtins__.unicode</pre> <pre class='cython code score-6 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_1, __pyx_n_s_builtins);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_1, __pyx_n_s_unicode);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_v_6gevent_8resolver_5cares_text_type); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_6gevent_8resolver_5cares_text_type, __pyx_t_2); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L2:; </pre><pre class="cython line score-0"> <span class="">029</span>: </pre> <pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">030</span>: TIMEOUT = 1</pre> <pre class='cython code score-5 '> if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_TIMEOUT, __pyx_int_1) < 0) <span class='error_goto'>__PYX_ERR(0, 30, __pyx_L1_error)</span> </pre><pre class="cython line score-0"> <span class="">031</span>: </pre> <pre class="cython line score-0"> <span class="">032</span>: DEF EV_READ = 1</pre> <pre class="cython line score-0"> <span class="">033</span>: DEF EV_WRITE = 2</pre> <pre class="cython line score-0"> <span class="">034</span>: </pre> <pre class="cython line score-0"> <span class="">035</span>: </pre> <pre class="cython line score-0"> <span class="">036</span>: cdef extern from "dnshelper.c":</pre> <pre class="cython line score-0"> <span class="">037</span>: int AF_INET</pre> <pre class="cython line score-0"> <span class="">038</span>: int AF_INET6</pre> <pre class="cython line score-0"> <span class="">039</span>: </pre> <pre class="cython line score-0"> <span class="">040</span>: struct hostent:</pre> <pre class="cython line score-0"> <span class="">041</span>: char* h_name</pre> <pre class="cython line score-0"> <span class="">042</span>: int h_addrtype</pre> <pre class="cython line score-0"> <span class="">043</span>: </pre> <pre class="cython line score-0"> <span class="">044</span>: struct sockaddr_t "sockaddr":</pre> <pre class="cython line score-0"> <span class="">045</span>: pass</pre> <pre class="cython line score-0"> <span class="">046</span>: </pre> <pre class="cython line score-0"> <span class="">047</span>: struct ares_channeldata:</pre> <pre class="cython line score-0"> <span class="">048</span>: pass</pre> <pre class="cython line score-0"> <span class="">049</span>: </pre> <pre class="cython line score-0"> <span class="">050</span>: object parse_h_name(hostent*)</pre> <pre class="cython line score-0"> <span class="">051</span>: object parse_h_aliases(hostent*)</pre> <pre class="cython line score-0"> <span class="">052</span>: object parse_h_addr_list(hostent*)</pre> <pre class="cython line score-0"> <span class="">053</span>: void* create_object_from_hostent(void*)</pre> <pre class="cython line score-0"> <span class="">054</span>: </pre> <pre class="cython line score-0"> <span class="">055</span>: # this imports _socket lazily</pre> <pre class="cython line score-0"> <span class="">056</span>: object PyUnicode_FromString(char*)</pre> <pre class="cython line score-0"> <span class="">057</span>: int PyTuple_Check(object)</pre> <pre class="cython line score-0"> <span class="">058</span>: int PyArg_ParseTuple(object, char*, ...) except 0</pre> <pre class="cython line score-0"> <span class="">059</span>: struct sockaddr_in6:</pre> <pre class="cython line score-0"> <span class="">060</span>: pass</pre> <pre class="cython line score-0"> <span class="">061</span>: int gevent_make_sockaddr(char* hostp, int port, int flowinfo, int scope_id, sockaddr_in6* sa6)</pre> <pre class="cython line score-0"> <span class="">062</span>: </pre> <pre class="cython line score-0"> <span class="">063</span>: </pre> <pre class="cython line score-0"> <span class="">064</span>: void memset(void*, int, int)</pre> <pre class="cython line score-0"> <span class="">065</span>: </pre> <pre class="cython line score-0"> <span class="">066</span>: </pre> <pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">067</span>: ARES_SUCCESS = cares.ARES_SUCCESS</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_SUCCESS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_SUCCESS, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 67, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">068</span>: ARES_ENODATA = cares.ARES_ENODATA</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENODATA);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ENODATA, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 68, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">069</span>: ARES_EFORMERR = cares.ARES_EFORMERR</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EFORMERR);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EFORMERR, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 69, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">070</span>: ARES_ESERVFAIL = cares.ARES_ESERVFAIL</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ESERVFAIL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ESERVFAIL, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 70, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">071</span>: ARES_ENOTFOUND = cares.ARES_ENOTFOUND</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOTFOUND);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ENOTFOUND, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 71, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">072</span>: ARES_ENOTIMP = cares.ARES_ENOTIMP</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOTIMP);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ENOTIMP, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 72, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">073</span>: ARES_EREFUSED = cares.ARES_EREFUSED</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EREFUSED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EREFUSED, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 73, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">074</span>: ARES_EBADQUERY = cares.ARES_EBADQUERY</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADQUERY);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADQUERY, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 74, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">075</span>: ARES_EBADNAME = cares.ARES_EBADNAME</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADNAME);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 75, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADNAME, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 75, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">076</span>: ARES_EBADFAMILY = cares.ARES_EBADFAMILY</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADFAMILY);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADFAMILY, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 76, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">077</span>: ARES_EBADRESP = cares.ARES_EBADRESP</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADRESP);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADRESP, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 77, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">078</span>: ARES_ECONNREFUSED = cares.ARES_ECONNREFUSED</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ECONNREFUSED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 78, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ECONNREFUSED, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 78, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">079</span>: ARES_ETIMEOUT = cares.ARES_ETIMEOUT</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ETIMEOUT);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ETIMEOUT, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 79, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">080</span>: ARES_EOF = cares.ARES_EOF</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EOF);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EOF, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 80, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">081</span>: ARES_EFILE = cares.ARES_EFILE</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EFILE);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EFILE, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 81, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">082</span>: ARES_ENOMEM = cares.ARES_ENOMEM</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOMEM);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ENOMEM, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 82, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">083</span>: ARES_EDESTRUCTION = cares.ARES_EDESTRUCTION</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EDESTRUCTION);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EDESTRUCTION, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 83, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">084</span>: ARES_EBADSTR = cares.ARES_EBADSTR</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADSTR);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADSTR, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 84, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">085</span>: ARES_EBADFLAGS = cares.ARES_EBADFLAGS</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADFLAGS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADFLAGS, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 85, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">086</span>: ARES_ENONAME = cares.ARES_ENONAME</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENONAME);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ENONAME, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 86, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">087</span>: ARES_EBADHINTS = cares.ARES_EBADHINTS</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADHINTS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 87, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EBADHINTS, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 87, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">088</span>: ARES_ENOTINITIALIZED = cares.ARES_ENOTINITIALIZED</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOTINITIALIZED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ENOTINITIALIZED, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 88, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">089</span>: ARES_ELOADIPHLPAPI = cares.ARES_ELOADIPHLPAPI</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ELOADIPHLPAPI);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ELOADIPHLPAPI, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 89, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">090</span>: ARES_EADDRGETNETWORKPARAMS = cares.ARES_EADDRGETNETWORKPARAMS</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EADDRGETNETWORKPARAMS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_EADDRGETNETWORKPARAMS, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 90, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">091</span>: ARES_ECANCELLED = cares.ARES_ECANCELLED</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ECANCELLED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_ECANCELLED, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 91, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">092</span>: </pre> <pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">093</span>: ARES_FLAG_USEVC = cares.ARES_FLAG_USEVC</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_USEVC);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_USEVC, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 93, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">094</span>: ARES_FLAG_PRIMARY = cares.ARES_FLAG_PRIMARY</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_PRIMARY);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_PRIMARY, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 94, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">095</span>: ARES_FLAG_IGNTC = cares.ARES_FLAG_IGNTC</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_IGNTC);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_IGNTC, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 95, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">096</span>: ARES_FLAG_NORECURSE = cares.ARES_FLAG_NORECURSE</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_NORECURSE);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_NORECURSE, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 96, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">097</span>: ARES_FLAG_STAYOPEN = cares.ARES_FLAG_STAYOPEN</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_STAYOPEN);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_STAYOPEN, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 97, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">098</span>: ARES_FLAG_NOSEARCH = cares.ARES_FLAG_NOSEARCH</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_NOSEARCH);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_NOSEARCH, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 98, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">099</span>: ARES_FLAG_NOALIASES = cares.ARES_FLAG_NOALIASES</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_NOALIASES);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_NOALIASES, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 99, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">100</span>: ARES_FLAG_NOCHECKRESP = cares.ARES_FLAG_NOCHECKRESP</pre> <pre class='cython code score-8 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_FLAG_NOCHECKRESP);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ARES_FLAG_NOCHECKRESP, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 100, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">101</span>: </pre> <pre class="cython line score-0"> <span class="">102</span>: </pre> <pre class="cython line score-39" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">103</span>: _ares_errors = dict([</pre> <pre class='cython code score-39 '> __pyx_t_2 = <span class='py_c_api'>PyList_New</span>(25);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 0, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 1, __pyx_t_4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 2, __pyx_t_5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_6); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 3, __pyx_t_6); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 4, __pyx_t_7); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 5, __pyx_t_8); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 6, __pyx_t_9); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_10); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 7, __pyx_t_10); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_11); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 8, __pyx_t_11); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_12); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 9, __pyx_t_12); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_13); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 10, __pyx_t_13); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_14); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 11, __pyx_t_14); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_15); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 12, __pyx_t_15); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_16); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 13, __pyx_t_16); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_17); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 14, __pyx_t_17); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_18); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 15, __pyx_t_18); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_19); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 16, __pyx_t_19); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_20); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 17, __pyx_t_20); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_21); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 18, __pyx_t_21); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_22); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 19, __pyx_t_22); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_23); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 20, __pyx_t_23); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_24); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 21, __pyx_t_24); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_25); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 22, __pyx_t_25); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_26); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 23, __pyx_t_26); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_27); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 24, __pyx_t_27); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_27 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)(&PyDict_Type)), __pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 103, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_27); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ares_errors, __pyx_t_27) < 0) <span class='error_goto'>__PYX_ERR(0, 103, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_27); __pyx_t_27 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">104</span>: (cares.ARES_SUCCESS, 'ARES_SUCCESS'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_SUCCESS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_SUCCESS); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_SUCCESS); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 1, __pyx_n_s_ARES_SUCCESS); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">105</span>: (cares.ARES_ENODATA, 'ARES_ENODATA'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENODATA);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ENODATA); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ENODATA); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, __pyx_n_s_ARES_ENODATA); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">106</span>: (cares.ARES_EFORMERR, 'ARES_EFORMERR'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EFORMERR);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EFORMERR); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EFORMERR); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 1, __pyx_n_s_ARES_EFORMERR); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">107</span>: (cares.ARES_ESERVFAIL, 'ARES_ESERVFAIL'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ESERVFAIL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_6 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ESERVFAIL); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ESERVFAIL); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 1, __pyx_n_s_ARES_ESERVFAIL); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">108</span>: (cares.ARES_ENOTFOUND, 'ARES_ENOTFOUND'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOTFOUND);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 108, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ENOTFOUND); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ENOTFOUND); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1, __pyx_n_s_ARES_ENOTFOUND); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">109</span>: (cares.ARES_ENOTIMP, 'ARES_ENOTIMP'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOTIMP);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 109, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_8 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 109, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_8, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ENOTIMP); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ENOTIMP); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_8, 1, __pyx_n_s_ARES_ENOTIMP); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">110</span>: (cares.ARES_EREFUSED, 'ARES_EREFUSED'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EREFUSED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_9 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 110, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EREFUSED); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EREFUSED); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 1, __pyx_n_s_ARES_EREFUSED); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">111</span>: (cares.ARES_EBADQUERY, 'ARES_EBADQUERY'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADQUERY);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_10 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 111, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADQUERY); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADQUERY); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 1, __pyx_n_s_ARES_EBADQUERY); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">112</span>: (cares.ARES_EBADNAME, 'ARES_EBADNAME'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADNAME);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_11 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 112, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADNAME); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADNAME); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 1, __pyx_n_s_ARES_EBADNAME); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">113</span>: (cares.ARES_EBADFAMILY, 'ARES_EBADFAMILY'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADFAMILY);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_12 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 113, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_12, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADFAMILY); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADFAMILY); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_12, 1, __pyx_n_s_ARES_EBADFAMILY); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">114</span>: (cares.ARES_EBADRESP, 'ARES_EBADRESP'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADRESP);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_13 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 114, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_13, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADRESP); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADRESP); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_13, 1, __pyx_n_s_ARES_EBADRESP); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">115</span>: (cares.ARES_ECONNREFUSED, 'ARES_ECONNREFUSED'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ECONNREFUSED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_14 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 115, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_14); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_14, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ECONNREFUSED); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ECONNREFUSED); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_14, 1, __pyx_n_s_ARES_ECONNREFUSED); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">116</span>: (cares.ARES_ETIMEOUT, 'ARES_ETIMEOUT'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ETIMEOUT);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_15 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 116, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_15); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_15, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ETIMEOUT); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ETIMEOUT); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_15, 1, __pyx_n_s_ARES_ETIMEOUT); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">117</span>: (cares.ARES_EOF, 'ARES_EOF'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EOF);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_16 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 117, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_16, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EOF); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EOF); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_16, 1, __pyx_n_s_ARES_EOF); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">118</span>: (cares.ARES_EFILE, 'ARES_EFILE'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EFILE);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_17 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 118, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_17); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_17, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EFILE); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EFILE); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_17, 1, __pyx_n_s_ARES_EFILE); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">119</span>: (cares.ARES_ENOMEM, 'ARES_ENOMEM'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOMEM);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 119, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_18 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 119, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_18); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_18, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ENOMEM); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ENOMEM); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_18, 1, __pyx_n_s_ARES_ENOMEM); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">120</span>: (cares.ARES_EDESTRUCTION, 'ARES_EDESTRUCTION'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EDESTRUCTION);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_19 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 120, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_19); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_19, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EDESTRUCTION); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EDESTRUCTION); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_19, 1, __pyx_n_s_ARES_EDESTRUCTION); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">121</span>: (cares.ARES_EBADSTR, 'ARES_EBADSTR'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADSTR);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_20 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 121, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_20); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_20, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADSTR); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADSTR); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_20, 1, __pyx_n_s_ARES_EBADSTR); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">122</span>: (cares.ARES_EBADFLAGS, 'ARES_EBADFLAGS'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADFLAGS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_21 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 122, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_21); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_21, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADFLAGS); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADFLAGS); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_21, 1, __pyx_n_s_ARES_EBADFLAGS); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">123</span>: (cares.ARES_ENONAME, 'ARES_ENONAME'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENONAME);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_22 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 123, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_22); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_22, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ENONAME); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ENONAME); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_22, 1, __pyx_n_s_ARES_ENONAME); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">124</span>: (cares.ARES_EBADHINTS, 'ARES_EBADHINTS'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EBADHINTS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_23 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 124, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_23); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_23, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EBADHINTS); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EBADHINTS); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_23, 1, __pyx_n_s_ARES_EBADHINTS); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">125</span>: (cares.ARES_ENOTINITIALIZED, 'ARES_ENOTINITIALIZED'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ENOTINITIALIZED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_24 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 125, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_24); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_24, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ENOTINITIALIZED); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ENOTINITIALIZED); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_24, 1, __pyx_n_s_ARES_ENOTINITIALIZED); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">126</span>: (cares.ARES_ELOADIPHLPAPI, 'ARES_ELOADIPHLPAPI'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ELOADIPHLPAPI);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_25 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 126, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_25); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_25, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ELOADIPHLPAPI); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ELOADIPHLPAPI); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_25, 1, __pyx_n_s_ARES_ELOADIPHLPAPI); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">127</span>: (cares.ARES_EADDRGETNETWORKPARAMS, 'ARES_EADDRGETNETWORKPARAMS'),</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EADDRGETNETWORKPARAMS);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_26 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 127, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_26); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_26, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_EADDRGETNETWORKPARAMS); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_EADDRGETNETWORKPARAMS); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_26, 1, __pyx_n_s_ARES_EADDRGETNETWORKPARAMS); __pyx_t_2 = 0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">128</span>: (cares.ARES_ECANCELLED, 'ARES_ECANCELLED')])</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_ECANCELLED);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_27 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 128, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_27); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_27, 0, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_s_ARES_ECANCELLED); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_s_ARES_ECANCELLED); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_27, 1, __pyx_n_s_ARES_ECANCELLED); __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">129</span>: </pre> <pre class="cython line score-0"> <span class="">130</span>: </pre> <pre class="cython line score-0"> <span class="">131</span>: # maps c-ares flag to _socket module flag</pre> <pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">132</span>: _cares_flag_map = None</pre> <pre class='cython code score-5 '> if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_cares_flag_map, Py_None) < 0) <span class='error_goto'>__PYX_ERR(0, 132, __pyx_L1_error)</span> </pre><pre class="cython line score-0"> <span class="">133</span>: </pre> <pre class="cython line score-0"> <span class="">134</span>: </pre> <pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">135</span>: cdef _prepare_cares_flag_map():</pre> <pre class='cython code score-11 '>static PyObject *__pyx_f_6gevent_8resolver_5cares__prepare_cares_flag_map(void) { PyObject *__pyx_v__socket = NULL; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_prepare_cares_flag_map", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares._prepare_cares_flag_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v__socket); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0"> <span class="">136</span>: global _cares_flag_map</pre> <pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">137</span>: import _socket</pre> <pre class='cython code score-2 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(__pyx_n_s_socket, 0, 0);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_v__socket = __pyx_t_1; __pyx_t_1 = 0; </pre><pre class="cython line score-16" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">138</span>: _cares_flag_map = [</pre> <pre class='cython code score-16 '> __pyx_t_2 = <span class='py_c_api'>PyList_New</span>(5);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 0, __pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 1, __pyx_t_4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 2, __pyx_t_5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_6); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 3, __pyx_t_6); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7); <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_2, 4, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_cares_flag_map, __pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 138, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">139</span>: (getattr(_socket, 'NI_NUMERICHOST', 1), cares.ARES_NI_NUMERICHOST),</pre> <pre class='cython code score-9 '> __pyx_t_1 = __Pyx_GetAttr3(__pyx_v__socket, __pyx_n_s_NI_NUMERICHOST, __pyx_int_1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_NI_NUMERICHOST);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">140</span>: (getattr(_socket, 'NI_NUMERICSERV', 2), cares.ARES_NI_NUMERICSERV),</pre> <pre class='cython code score-9 '> __pyx_t_2 = __Pyx_GetAttr3(__pyx_v__socket, __pyx_n_s_NI_NUMERICSERV, __pyx_int_2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_NI_NUMERICSERV);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_t_2); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">141</span>: (getattr(_socket, 'NI_NOFQDN', 4), cares.ARES_NI_NOFQDN),</pre> <pre class='cython code score-9 '> __pyx_t_1 = __Pyx_GetAttr3(__pyx_v__socket, __pyx_n_s_NI_NOFQDN, __pyx_int_4);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_NI_NOFQDN);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">142</span>: (getattr(_socket, 'NI_NAMEREQD', 8), cares.ARES_NI_NAMEREQD),</pre> <pre class='cython code score-9 '> __pyx_t_2 = __Pyx_GetAttr3(__pyx_v__socket, __pyx_n_s_NI_NAMEREQD, __pyx_int_8);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_NI_NAMEREQD);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_6 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 142, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 0, __pyx_t_2); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">143</span>: (getattr(_socket, 'NI_DGRAM', 16), cares.ARES_NI_DGRAM)]</pre> <pre class='cython code score-9 '> __pyx_t_1 = __Pyx_GetAttr3(__pyx_v__socket, __pyx_n_s_NI_DGRAM, __pyx_int_16);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_NI_DGRAM);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 143, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">144</span>: </pre> <pre class="cython line score-0"> <span class="">145</span>: </pre> <pre class="cython line score-49" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">146</span>: cpdef _convert_cares_flags(int flags, int default=cares.ARES_NI_LOOKUPHOST|cares.ARES_NI_LOOKUPSERVICE):</pre> <pre class='cython code score-49 '>static PyObject *__pyx_pw_6gevent_8resolver_5cares_1_convert_cares_flags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_6gevent_8resolver_5cares__convert_cares_flags(int __pyx_v_flags, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6gevent_8resolver_5cares__convert_cares_flags *__pyx_optional_args) { int __pyx_v_default = __pyx_k_; PyObject *__pyx_v_socket_flag = NULL; PyObject *__pyx_v_cares_flag = NULL; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_convert_cares_flags", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_default = __pyx_optional_args->__pyx_default; } } /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares._convert_cares_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_socket_flag); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_cares_flag); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_1_convert_cares_flags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_1_convert_cares_flags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_flags; int __pyx_v_default; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_convert_cares_flags (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags,&__pyx_n_s_default,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_flags)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_default); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_convert_cares_flags") < 0)) <span class='error_goto'>__PYX_ERR(0, 146, __pyx_L3_error)</span> } } else { switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) { case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_flags = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_flags == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 146, __pyx_L3_error)</span> if (values[1]) { __pyx_v_default = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[1]); if (unlikely((__pyx_v_default == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 146, __pyx_L3_error)</span> } else { __pyx_v_default = __pyx_k_; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("_convert_cares_flags", 0, 1, 2, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 146, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares._convert_cares_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares__convert_cares_flags(__pyx_self, __pyx_v_flags, __pyx_v_default); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares__convert_cares_flags(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_flags, int __pyx_v_default) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_convert_cares_flags", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_2.__pyx_n = 1; __pyx_t_2.__pyx_default = __pyx_v_default; __pyx_t_1 = __pyx_f_6gevent_8resolver_5cares__convert_cares_flags(__pyx_v_flags, 0, &__pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares._convert_cares_flags", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* … */ __pyx_k_ = (ARES_NI_LOOKUPHOST | ARES_NI_LOOKUPSERVICE); __pyx_k_ = (ARES_NI_LOOKUPHOST | ARES_NI_LOOKUPSERVICE); /* … */ struct __pyx_opt_args_6gevent_8resolver_5cares__convert_cares_flags { int __pyx_n; int __pyx_default; }; </pre><pre class="cython line score-3" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">147</span>: if _cares_flag_map is None:</pre> <pre class='cython code score-3 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_1, __pyx_n_s_cares_flag_map);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = (__pyx_t_1 == Py_None); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ } </pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">148</span>: _prepare_cares_flag_map()</pre> <pre class='cython code score-1 '> __pyx_t_1 = __pyx_f_6gevent_8resolver_5cares__prepare_cares_flag_map();<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-91" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">149</span>: for socket_flag, cares_flag in _cares_flag_map:</pre> <pre class='cython code score-91 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_1, __pyx_n_s_cares_flag_map);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_1)) || <span class='py_c_api'>PyTuple_CheckExact</span>(__pyx_t_1)) { __pyx_t_4 = __pyx_t_1; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = <span class='py_c_api'>PyObject_GetIter</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error)</span> } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_6)) { if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_4))) { if (__pyx_t_5 >= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_4, __pyx_t_5); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) <span class='error_goto'>__PYX_ERR(0, 149, __pyx_L1_error)</span> #else __pyx_t_1 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_4, __pyx_t_5); __pyx_t_5++;<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); #endif } else { if (__pyx_t_5 >= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_4, __pyx_t_5); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) <span class='error_goto'>__PYX_ERR(0, 149, __pyx_L1_error)</span> #else __pyx_t_1 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_4, __pyx_t_5); __pyx_t_5++;<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>(); if (exc_type) { if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>(); else <span class='error_goto'>__PYX_ERR(0, 149, __pyx_L1_error)</span> } break; } <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); } if ((likely(<span class='py_c_api'>PyTuple_CheckExact</span>(__pyx_t_1))) || (<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = <span class='pyx_c_api'>__Pyx_PySequence_SIZE</span>(sequence); if (unlikely(size != 2)) { if (size > 2) <span class='pyx_c_api'>__Pyx_RaiseTooManyValuesError</span>(2); else if (size >= 0) <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(size); <span class='error_goto'>__PYX_ERR(0, 149, __pyx_L1_error)</span> } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(<span class='py_c_api'>PyTuple_CheckExact</span>(sequence))) { __pyx_t_7 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 0); __pyx_t_8 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 1); } else { __pyx_t_7 = <span class='py_macro_api'>PyList_GET_ITEM</span>(sequence, 0); __pyx_t_8 = <span class='py_macro_api'>PyList_GET_ITEM</span>(sequence, 1); } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_8); #else __pyx_t_7 = <span class='py_macro_api'>PySequence_ITEM</span>(sequence, 0);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_8 = <span class='py_macro_api'>PySequence_ITEM</span>(sequence, 1);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); #endif <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_9 = <span class='py_c_api'>PyObject_GetIter</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 149, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); if (<span class='pyx_c_api'>__Pyx_IternextUnpackEndCheck</span>(__pyx_t_10(__pyx_t_9), 2) < 0) <span class='error_goto'>__PYX_ERR(0, 149, __pyx_L1_error)</span> __pyx_t_10 = NULL; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (<span class='pyx_c_api'>__Pyx_IterFinish</span>() == 0) <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(index); <span class='error_goto'>__PYX_ERR(0, 149, __pyx_L1_error)</span> __pyx_L7_unpacking_done:; } <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_socket_flag, __pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_cares_flag, __pyx_t_8); __pyx_t_8 = 0; /* … */ } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; </pre><pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">150</span>: if socket_flag & flags:</pre> <pre class='cython code score-11 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_flags);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_8 = <span class='py_c_api'>PyNumber_And</span>(__pyx_v_socket_flag, __pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 150, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_IsTrue</span>(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) <span class='error_goto'>__PYX_ERR(0, 150, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ } </pre><pre class="cython line score-16" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">151</span>: default |= cares_flag</pre> <pre class='cython code score-16 '> __pyx_t_8 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_default);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 151, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_1 = <span class='py_c_api'>PyNumber_InPlaceOr</span>(__pyx_t_8, __pyx_v_cares_flag);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_1); if (unlikely((__pyx_t_11 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 151, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_default = __pyx_t_11; </pre><pre class="cython line score-22" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">152</span>: flags &= ~socket_flag</pre> <pre class='cython code score-22 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_flags);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_8 = <span class='py_c_api'>PyNumber_Invert</span>(__pyx_v_socket_flag);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 152, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_7 = <span class='py_c_api'>PyNumber_InPlaceAnd</span>(__pyx_t_1, __pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 152, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_7); if (unlikely((__pyx_t_11 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 152, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_flags = __pyx_t_11; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">153</span>: if not flags:</pre> <pre class='cython code score-0 '> __pyx_t_3 = ((!(__pyx_v_flags != 0)) != 0); if (__pyx_t_3) { /* … */ } </pre><pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">154</span>: return default</pre> <pre class='cython code score-4 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_default);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 154, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_r = __pyx_t_7; __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0; </pre><pre class="cython line score-48" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">155</span>: raise gaierror(-1, "Bad value for ai_flags: 0x%x" % flags)</pre> <pre class='cython code score-48 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_8 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_flags);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_Bad_value_for_ai_flags_0x_x, __pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_7))) { __pyx_t_8 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_7, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_int_neg_1, __pyx_t_1}; __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_int_neg_1, __pyx_t_1}; __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_9 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_11);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); if (__pyx_t_8) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL; } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_neg_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_neg_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0+__pyx_t_11, __pyx_int_neg_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 1+__pyx_t_11, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_t_9, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_4, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='error_goto'>__PYX_ERR(0, 155, __pyx_L1_error)</span> </pre><pre class="cython line score-0"> <span class="">156</span>: </pre> <pre class="cython line score-0"> <span class="">157</span>: </pre> <pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">158</span>: cpdef strerror(code):</pre> <pre class='cython code score-10 '>static PyObject *__pyx_pw_6gevent_8resolver_5cares_3strerror(PyObject *__pyx_self, PyObject *__pyx_v_code); /*proto*/ static PyObject *__pyx_f_6gevent_8resolver_5cares_strerror(PyObject *__pyx_v_code, CYTHON_UNUSED int __pyx_skip_dispatch) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("strerror", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.strerror", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_3strerror(PyObject *__pyx_self, PyObject *__pyx_v_code); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_3strerror(PyObject *__pyx_self, PyObject *__pyx_v_code) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("strerror (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_2strerror(__pyx_self, ((PyObject *)__pyx_v_code)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_2strerror(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("strerror", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_1 = __pyx_f_6gevent_8resolver_5cares_strerror(__pyx_v_code, 0);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.strerror", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">159</span>: return '%s: %s' % (_ares_errors.get(code) or code, cares.ares_strerror(code))</pre> <pre class='cython code score-45 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_3, __pyx_n_s_ares_errors);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_3, __pyx_n_s_get);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_4))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_4, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_code) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_v_code); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) <span class='error_goto'>__PYX_ERR(0, 159, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_IsTrue</span>(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) <span class='error_goto'>__PYX_ERR(0, 159, __pyx_L1_error)</span> if (!__pyx_t_5) { <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; } else { <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); __pyx_t_1 = __pyx_t_2; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L3_bool_binop_done; } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_code); __pyx_t_1 = __pyx_v_code; __pyx_L3_bool_binop_done:; __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_v_code); if (unlikely((__pyx_t_6 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 159, __pyx_L1_error)</span> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyBytes_FromString</span>(ares_strerror(__pyx_t_6));<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_s_s, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">160</span>: </pre> <pre class="cython line score-0"> <span class="">161</span>: </pre> <pre class="cython line score-15" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">162</span>: class InvalidIP(ValueError):</pre> <pre class='cython code score-15 '> __pyx_t_27 = <span class='pyx_c_api'>__Pyx_CalculateMetaclass</span>(NULL, __pyx_tuple__4);<span class='error_goto'> if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 162, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_27); __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_27, __pyx_tuple__4, __pyx_n_s_InvalidIP, __pyx_n_s_InvalidIP, (PyObject *) NULL, __pyx_n_s_gevent_resolver_cares, (PyObject *) NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_26 = __Pyx_Py3ClassCreate(__pyx_t_27, __pyx_n_s_InvalidIP, __pyx_tuple__4, __pyx_t_2, NULL, 0, 0);<span class='error_goto'> if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 162, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_26); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_InvalidIP, __pyx_t_26) < 0) <span class='error_goto'>__PYX_ERR(0, 162, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_26); __pyx_t_26 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_27); __pyx_t_27 = 0; /* … */ __pyx_tuple__4 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_builtin_ValueError);<span class='error_goto'> if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 162, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__4); </pre><pre class="cython line score-0"> <span class="">163</span>: pass</pre> <pre class="cython line score-0"> <span class="">164</span>: </pre> <pre class="cython line score-0"> <span class="">165</span>: </pre> <pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">166</span>: cdef void gevent_sock_state_callback(void *data, int s, int read, int write):</pre> <pre class='cython code score-4 '>static void __pyx_f_6gevent_8resolver_5cares_gevent_sock_state_callback(void *__pyx_v_data, int __pyx_v_s, int __pyx_v_read, int __pyx_v_write) { struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_ch = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gevent_sock_state_callback", 0); /* … */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_c_api'>__Pyx_WriteUnraisable</span>("gevent.resolver.cares.gevent_sock_state_callback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_ch); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">167</span>: if not data:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!(__pyx_v_data != 0)) != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">168</span>: return</pre> <pre class='cython code score-0 '> goto __pyx_L0; </pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">169</span>: cdef channel ch = <channel>data</pre> <pre class='cython code score-1 '> __pyx_t_2 = ((PyObject *)__pyx_v_data); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); __pyx_v_ch = ((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">170</span>: ch._sock_state_callback(s, read, write)</pre> <pre class='cython code score-1 '> __pyx_t_2 = ((struct __pyx_vtabstruct_6gevent_8resolver_5cares_channel *)__pyx_v_ch->__pyx_vtab)->_sock_state_callback(__pyx_v_ch, __pyx_v_s, __pyx_v_read, __pyx_v_write);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 170, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-0"> <span class="">171</span>: </pre> <pre class="cython line score-0"> <span class="">172</span>: </pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">173</span>: cdef class result:</pre> <pre class='cython code score-0 '>struct __pyx_obj_6gevent_8resolver_5cares_result { PyObject_HEAD PyObject *value; PyObject *exception; }; </pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">174</span>: cdef public object value</pre> <pre class='cython code score-6 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_5value_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_5value_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_5value___get__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_6result_5value___get__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->value); __pyx_r = __pyx_v_self->value; goto __pyx_L0; /* function exit code */ __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_6result_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_6result_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_5value_2__set__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_6result_5value_2__set__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->value); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->value); __pyx_v_self->value = __pyx_v_value; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_6result_5value_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_6result_5value_5__del__(PyObject *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_5value_4__del__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_6result_5value_4__del__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->value); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->value); __pyx_v_self->value = Py_None; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">175</span>: cdef public object exception</pre> <pre class='cython code score-6 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_9exception_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_9exception_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_9exception___get__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_6result_9exception___get__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->exception); __pyx_r = __pyx_v_self->exception; goto __pyx_L0; /* function exit code */ __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_6result_9exception_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_6result_9exception_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_9exception_2__set__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_6result_9exception_2__set__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->exception); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->exception); __pyx_v_self->exception = __pyx_v_value; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_6result_9exception_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_6result_9exception_5__del__(PyObject *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_9exception_4__del__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_6result_9exception_4__del__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->exception); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->exception); __pyx_v_self->exception = Py_None; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0"> <span class="">176</span>: </pre> <pre class="cython line score-22" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">177</span>: def __init__(self, object value=None, object exception=None):</pre> <pre class='cython code score-22 '>/* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_6result_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_6result_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_value = 0; PyObject *__pyx_v_exception = 0; int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_value,&__pyx_n_s_exception,0}; PyObject* values[2] = {0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_value); if (value) { values[0] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_exception); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) <span class='error_goto'>__PYX_ERR(0, 177, __pyx_L3_error)</span> } } else { switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) { case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_value = values[0]; __pyx_v_exception = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("__init__", 0, 0, 2, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 177, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.result.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result___init__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self), __pyx_v_value, __pyx_v_exception); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_6result___init__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self, PyObject *__pyx_v_value, PyObject *__pyx_v_exception) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">178</span>: self.value = value</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->value); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->value); __pyx_v_self->value = __pyx_v_value; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">179</span>: self.exception = exception</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_exception); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_exception); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->exception); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->exception); __pyx_v_self->exception = __pyx_v_exception; </pre><pre class="cython line score-0"> <span class="">180</span>: </pre> <pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">181</span>: def __repr__(self):</pre> <pre class='cython code score-4 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_3__repr__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_3__repr__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__repr__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_2__repr__(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_6result_2__repr__(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__repr__", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.result.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">182</span>: if self.exception is None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_self->exception == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } </pre><pre class="cython line score-17" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">183</span>: return '%s(%r)' % (self.__class__.__name__, self.value)</pre> <pre class='cython code score-17 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_class);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_3, __pyx_n_s_name);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 183, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_self->value); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_v_self->value); __pyx_t_4 = 0; __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_s_r, __pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 183, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">184</span>: elif self.value is None:</pre> <pre class='cython code score-0 '> __pyx_t_2 = (__pyx_v_self->value == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-17" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">185</span>: return '%s(exception=%r)' % (self.__class__.__name__, self.exception)</pre> <pre class='cython code score-17 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_class);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_4, __pyx_n_s_name);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->exception); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_self->exception); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, __pyx_v_self->exception); __pyx_t_3 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_s_exception_r, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">186</span>: else:</pre> <pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">187</span>: return '%s(value=%r, exception=%r)' % (self.__class__.__name__, self.value, self.exception)</pre> <pre class='cython code score-19 '> /*else*/ { <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_class);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_3, __pyx_n_s_name);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_self->value); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_v_self->value); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->exception); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_self->exception); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 2, __pyx_v_self->exception); __pyx_t_4 = 0; __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_s_value_r_exception_r, __pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; } </pre><pre class="cython line score-0"> <span class="">188</span>: # add repr_recursive precaution</pre> <pre class="cython line score-0"> <span class="">189</span>: </pre> <pre class="cython line score-3" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">190</span>: def successful(self):</pre> <pre class='cython code score-3 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_5successful(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_5successful(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("successful (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_4successful(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_6result_4successful(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("successful", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.result.successful", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-3" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">191</span>: return self.exception is None</pre> <pre class='cython code score-3 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_1 = (__pyx_v_self->exception == Py_None); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyBool_FromLong</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 191, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">192</span>: </pre> <pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">193</span>: def get(self):</pre> <pre class='cython code score-2 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_7get(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_6result_7get(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("get (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_6result_6get(((struct __pyx_obj_6gevent_8resolver_5cares_result *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_6result_6get(struct __pyx_obj_6gevent_8resolver_5cares_result *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("get", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.result.get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">194</span>: if self.exception is not None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_self->exception != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (unlikely(__pyx_t_2)) { /* … */ } </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">195</span>: raise self.exception</pre> <pre class='cython code score-2 '> <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_v_self->exception, 0, 0, 0); <span class='error_goto'>__PYX_ERR(0, 195, __pyx_L1_error)</span> </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">196</span>: return self.value</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->value); __pyx_r = __pyx_v_self->value; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">197</span>: </pre> <pre class="cython line score-0"> <span class="">198</span>: </pre> <pre class="cython line score-18" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">199</span>: class ares_host_result(tuple):</pre> <pre class='cython code score-18 '> __pyx_t_27 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 199, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_27); <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)(&PyTuple_Type))); <span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)(&PyTuple_Type))); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_27, 0, ((PyObject *)(&PyTuple_Type))); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_CalculateMetaclass</span>(NULL, __pyx_t_27);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_26 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_27, __pyx_n_s_ares_host_result, __pyx_n_s_ares_host_result, (PyObject *) NULL, __pyx_n_s_gevent_resolver_cares, (PyObject *) NULL);<span class='error_goto'> if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 199, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_26); /* … */ __pyx_t_25 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_ares_host_result, __pyx_t_27, __pyx_t_26, NULL, 0, 0);<span class='error_goto'> if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 199, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_25); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_ares_host_result, __pyx_t_25) < 0) <span class='error_goto'>__PYX_ERR(0, 199, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_25); __pyx_t_25 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_26); __pyx_t_26 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_27); __pyx_t_27 = 0; </pre><pre class="cython line score-0"> <span class="">200</span>: </pre> <pre class="cython line score-49" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">201</span>: def __new__(cls, family, iterable):</pre> <pre class='cython code score-49 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_16ares_host_result_1__new__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_6gevent_8resolver_5cares_16ares_host_result_1__new__ = {"__new__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6gevent_8resolver_5cares_16ares_host_result_1__new__, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_6gevent_8resolver_5cares_16ares_host_result_1__new__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_cls = 0; PyObject *__pyx_v_family = 0; PyObject *__pyx_v_iterable = 0; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__new__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_family,&__pyx_n_s_iterable,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_family)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("__new__", 1, 3, 3, 1); <span class='error_goto'>__PYX_ERR(0, 201, __pyx_L3_error)</span> } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_iterable)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("__new__", 1, 3, 3, 2); <span class='error_goto'>__PYX_ERR(0, 201, __pyx_L3_error)</span> } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__new__") < 0)) <span class='error_goto'>__PYX_ERR(0, 201, __pyx_L3_error)</span> } } else if (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); } __pyx_v_cls = values[0]; __pyx_v_family = values[1]; __pyx_v_iterable = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("__new__", 1, 3, 3, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 201, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.ares_host_result.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_16ares_host_result___new__(__pyx_self, __pyx_v_cls, __pyx_v_family, __pyx_v_iterable); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_16ares_host_result___new__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_family, PyObject *__pyx_v_iterable) { PyObject *__pyx_v_self = 0; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__new__", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.ares_host_result.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_self); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* … */ __pyx_tuple__5 = <span class='py_c_api'>PyTuple_Pack</span>(4, __pyx_n_s_cls, __pyx_n_s_family, __pyx_n_s_iterable, __pyx_n_s_self);<span class='error_goto'> if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 201, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__5); /* … */ __pyx_t_25 = <span class='pyx_c_api'>__Pyx_CyFunction_NewEx</span>(&__pyx_mdef_6gevent_8resolver_5cares_16ares_host_result_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_ares_host_result___new, NULL, __pyx_n_s_gevent_resolver_cares, __pyx_d, ((PyObject *)__pyx_codeobj__6));<span class='error_goto'> if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 201, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_25); if (<span class='pyx_c_api'>__Pyx_SetNameInClass</span>(__pyx_t_26, __pyx_n_s_new, __pyx_t_25) < 0) <span class='error_goto'>__PYX_ERR(0, 201, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_25); __pyx_t_25 = 0; __pyx_codeobj__6 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_gevent_resolver_cares_pyx, __pyx_n_s_new, 201, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 201, __pyx_L1_error)</span> </pre><pre class="cython line score-39" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">202</span>: cdef object self = tuple.__new__(cls, iterable)</pre> <pre class='cython code score-39 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)(&PyTuple_Type)), __pyx_n_s_new);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_cls, __pyx_v_iterable}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_cls, __pyx_v_iterable}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); } else #endif { __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5); if (__pyx_t_3) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cls); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_cls); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0+__pyx_t_4, __pyx_v_cls); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_iterable); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_iterable); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 1+__pyx_t_4, __pyx_v_iterable); __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_5, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self = __pyx_t_1; __pyx_t_1 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">203</span>: self.family = family</pre> <pre class='cython code score-2 '> if (<span class='pyx_c_api'>__Pyx_PyObject_SetAttrStr</span>(__pyx_v_self, __pyx_n_s_family, __pyx_v_family) < 0) <span class='error_goto'>__PYX_ERR(0, 203, __pyx_L1_error)</span> </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">204</span>: return self</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self); __pyx_r = __pyx_v_self; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">205</span>: </pre> <pre class="cython line score-15" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">206</span>: def __getnewargs__(self):</pre> <pre class='cython code score-15 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_16ares_host_result_3__getnewargs__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ static PyMethodDef __pyx_mdef_6gevent_8resolver_5cares_16ares_host_result_3__getnewargs__ = {"__getnewargs__", (PyCFunction)__pyx_pw_6gevent_8resolver_5cares_16ares_host_result_3__getnewargs__, METH_O, 0}; static PyObject *__pyx_pw_6gevent_8resolver_5cares_16ares_host_result_3__getnewargs__(PyObject *__pyx_self, PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__getnewargs__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_16ares_host_result_2__getnewargs__(__pyx_self, ((PyObject *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_16ares_host_result_2__getnewargs__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__getnewargs__", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.ares_host_result.__getnewargs__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* … */ __pyx_tuple__7 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_n_s_self);<span class='error_goto'> if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 206, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__7); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__7); /* … */ __pyx_t_25 = <span class='pyx_c_api'>__Pyx_CyFunction_NewEx</span>(&__pyx_mdef_6gevent_8resolver_5cares_16ares_host_result_3__getnewargs__, 0, __pyx_n_s_ares_host_result___getnewargs, NULL, __pyx_n_s_gevent_resolver_cares, __pyx_d, ((PyObject *)__pyx_codeobj__8));<span class='error_goto'> if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 206, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_25); if (<span class='pyx_c_api'>__Pyx_SetNameInClass</span>(__pyx_t_26, __pyx_n_s_getnewargs, __pyx_t_25) < 0) <span class='error_goto'>__PYX_ERR(0, 206, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_25); __pyx_t_25 = 0; </pre><pre class="cython line score-12" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">207</span>: return (self.family, tuple(self))</pre> <pre class='cython code score-12 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_self, __pyx_n_s_family);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PySequence_Tuple</span>(__pyx_v_self);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">208</span>: </pre> <pre class="cython line score-0"> <span class="">209</span>: </pre> <pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">210</span>: cdef void gevent_ares_host_callback(void *arg, int status, int timeouts, hostent* host):</pre> <pre class='cython code score-13 '>static void __pyx_f_6gevent_8resolver_5cares_gevent_ares_host_callback(void *__pyx_v_arg, int __pyx_v_status, CYTHON_UNUSED int __pyx_v_timeouts, struct hostent *__pyx_v_host) { struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_channel = 0; PyObject *__pyx_v_callback = 0; PyObject *__pyx_v_host_result = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gevent_ares_host_callback", 0); /* … */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_17); <span class='pyx_c_api'>__Pyx_WriteUnraisable</span>("gevent.resolver.cares.gevent_ares_host_callback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_channel); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_callback); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_host_result); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); } </pre><pre class="cython line score-0"> <span class="">211</span>: cdef channel channel</pre> <pre class="cython line score-0"> <span class="">212</span>: cdef object callback</pre> <pre class="cython line score-18" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">213</span>: channel, callback = <tuple>arg</pre> <pre class='cython code score-18 '> __pyx_t_1 = ((PyObject *)__pyx_v_arg); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); if (likely(__pyx_t_1 != Py_None)) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = <span class='pyx_c_api'>__Pyx_PySequence_SIZE</span>(sequence); if (unlikely(size != 2)) { if (size > 2) <span class='pyx_c_api'>__Pyx_RaiseTooManyValuesError</span>(2); else if (size >= 0) <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(size); <span class='error_goto'>__PYX_ERR(0, 213, __pyx_L1_error)</span> } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 0); __pyx_t_3 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); #else __pyx_t_2 = <span class='py_macro_api'>PySequence_ITEM</span>(sequence, 0);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 213, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='py_macro_api'>PySequence_ITEM</span>(sequence, 1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); #endif <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } else { <span class='pyx_c_api'>__Pyx_RaiseNoneNotIterableError</span>(); <span class='error_goto'>__PYX_ERR(0, 213, __pyx_L1_error)</span> } if (!(likely(((__pyx_t_2) == Py_None) || likely(<span class='pyx_c_api'>__Pyx_TypeTest</span>(__pyx_t_2, __pyx_ptype_6gevent_8resolver_5cares_channel))))) <span class='error_goto'>__PYX_ERR(0, 213, __pyx_L1_error)</span> __pyx_v_channel = ((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_t_2); __pyx_t_2 = 0; __pyx_v_callback = __pyx_t_3; __pyx_t_3 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">214</span>: Py_DECREF(<tuple>arg)</pre> <pre class='cython code score-0 '> Py_DECREF(((PyObject *)__pyx_v_arg)); </pre><pre class="cython line score-0"> <span class="">215</span>: cdef object host_result</pre> <pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">216</span>: try:</pre> <pre class='cython code score-14 '> { /*try:*/ { /* … */ } <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L8_try_end; __pyx_L3_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); __pyx_t_13 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; /* … */ <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_6); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_4, __pyx_t_5, __pyx_t_6); goto __pyx_L1_error; __pyx_L4_exception_handled:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_6); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_4, __pyx_t_5, __pyx_t_6); __pyx_L8_try_end:; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">217</span>: if status or not host:</pre> <pre class='cython code score-0 '> __pyx_t_8 = (__pyx_v_status != 0); if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L10_bool_binop_done; } __pyx_t_8 = ((!(__pyx_v_host != 0)) != 0); __pyx_t_7 = __pyx_t_8; __pyx_L10_bool_binop_done:; if (__pyx_t_7) { /* … */ goto __pyx_L9; } </pre><pre class="cython line score-74" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">218</span>: callback(result(None, gaierror(status, strerror(status))))</pre> <pre class='cython code score-74 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_status);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_status);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); __pyx_t_11 = __pyx_f_6gevent_8resolver_5cares_strerror(__pyx_t_10, 0);<span class='error_goto'> if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; __pyx_t_12 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_10 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_10)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_12 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_t_11}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_t_11}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; } else #endif { __pyx_t_13 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); if (__pyx_t_10) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_10); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_13, 0, __pyx_t_10); __pyx_t_10 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_13, 0+__pyx_t_12, __pyx_t_9); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_11); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_13, 1+__pyx_t_12, __pyx_t_11); __pyx_t_9 = 0; __pyx_t_11 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_13, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 0, Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_6gevent_8resolver_5cares_result), __pyx_t_2, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); __pyx_t_2 = __pyx_v_callback; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_13 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_13)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); __pyx_t_13 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 218, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-0"> <span class="">219</span>: else:</pre> <pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">220</span>: try:</pre> <pre class='cython code score-4 '> /*else*/ { { /*try:*/ { /* … */ } /* … */ <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_14); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_15); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_16); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_14, __pyx_t_15, __pyx_t_16); goto __pyx_L3_error; __pyx_L13_exception_handled:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_14); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_15); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_16); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_14, __pyx_t_15, __pyx_t_16); __pyx_L17_try_end:; } } __pyx_L9:; </pre><pre class="cython line score-51" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">221</span>: host_result = ares_host_result(host.h_addrtype, (parse_h_name(host), parse_h_aliases(host), parse_h_addr_list(host)))</pre> <pre class='cython code score-51 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_ares_host_result);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_host->h_addrtype);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_13 = parse_h_name(__pyx_v_host);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); __pyx_t_11 = parse_h_aliases(__pyx_v_host);<span class='error_goto'> if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); __pyx_t_9 = parse_h_addr_list(__pyx_v_host);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_10 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_13); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0, __pyx_t_13); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_11); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 1, __pyx_t_11); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 2, __pyx_t_9); __pyx_t_13 = 0; __pyx_t_11 = 0; __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_12 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_12 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_3, __pyx_t_10}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_3, __pyx_t_10}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_11 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); if (__pyx_t_9) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 0+__pyx_t_12, __pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_10); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 1+__pyx_t_12, __pyx_t_10); __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_11, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L12_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_host_result = __pyx_t_1; __pyx_t_1 = 0; </pre><pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">222</span>: except:</pre> <pre class='cython code score-4 '> /*except:*/ { <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.gevent_ares_host_callback", __pyx_clineno, __pyx_lineno, __pyx_filename); if (<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_1, &__pyx_t_11, &__pyx_t_2) < 0) <span class='error_goto'>__PYX_ERR(0, 222, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); </pre><pre class="cython line score-55" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">223</span>: callback(result(None, sys.exc_info()[1]))</pre> <pre class='cython code score-55 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_9, __pyx_n_s_sys);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_13 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_9, __pyx_n_s_exc_info);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_13))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_13); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_13, function); } } __pyx_t_3 = (__pyx_t_9) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_13, __pyx_t_9) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) <span class='error_goto'>__PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = <span class='pyx_c_api'>__Pyx_GetItemInt</span>(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_13); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_6gevent_8resolver_5cares_result), __pyx_t_3, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); __pyx_t_3 = __pyx_v_callback; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_3))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_3, function); } } __pyx_t_10 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_13) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_3, __pyx_t_13); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_10)) <span class='error_goto'>__PYX_ERR(0, 223, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L13_exception_handled; } __pyx_L14_except_error:; </pre><pre class="cython line score-0"> <span class="">224</span>: else:</pre> <pre class="cython line score-29" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">225</span>: callback(result(host_result))</pre> <pre class='cython code score-29 '> /*else:*/ { __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)__pyx_ptype_6gevent_8resolver_5cares_result), __pyx_v_host_result);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); __pyx_t_11 = __pyx_v_callback; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_11))) { __pyx_t_10 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_11); if (likely(__pyx_t_10)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_11); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_11, function); } } __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_10, __pyx_t_2) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_11, __pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 225, __pyx_L14_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_14); __pyx_t_14 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_15); __pyx_t_15 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_16); __pyx_t_16 = 0; goto __pyx_L17_try_end; __pyx_L12_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); __pyx_t_13 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">226</span>: except:</pre> <pre class='cython code score-4 '> /*except:*/ { <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.gevent_ares_host_callback", __pyx_clineno, __pyx_lineno, __pyx_filename); if (<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_2, &__pyx_t_11, &__pyx_t_1) < 0) <span class='error_goto'>__PYX_ERR(0, 226, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); </pre><pre class="cython line score-48" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">227</span>: channel.loop.handle_error(callback, *sys.exc_info())</pre> <pre class='cython code score-48 '> __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_channel->loop, __pyx_n_s_handle_error);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_callback); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_v_callback); <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_9, __pyx_n_s_sys);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_17 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_9, __pyx_n_s_exc_info);<span class='error_goto'> if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_17); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_17))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_17); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_17); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_17, function); } } __pyx_t_13 = (__pyx_t_9) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_17, __pyx_t_9) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_17); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_13)) <span class='error_goto'>__PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = <span class='pyx_c_api'>__Pyx_PySequence_Tuple</span>(__pyx_t_13);<span class='error_goto'> if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_17); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_3, __pyx_t_17);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_10, __pyx_t_13, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 227, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_17); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_17); __pyx_t_17 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; </pre><pre class="cython line score-0"> <span class="">228</span>: </pre> <pre class="cython line score-0"> <span class="">229</span>: </pre> <pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">230</span>: cdef void gevent_ares_nameinfo_callback(void *arg, int status, int timeouts, char *c_node, char *c_service):</pre> <pre class='cython code score-14 '>static void __pyx_f_6gevent_8resolver_5cares_gevent_ares_nameinfo_callback(void *__pyx_v_arg, int __pyx_v_status, CYTHON_UNUSED int __pyx_v_timeouts, char *__pyx_v_c_node, char *__pyx_v_c_service) { struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_channel = 0; PyObject *__pyx_v_callback = 0; PyObject *__pyx_v_node = 0; PyObject *__pyx_v_service = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gevent_ares_nameinfo_callback", 0); /* … */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); <span class='pyx_c_api'>__Pyx_WriteUnraisable</span>("gevent.resolver.cares.gevent_ares_nameinfo_callback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_channel); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_callback); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_node); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_service); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); } </pre><pre class="cython line score-0"> <span class="">231</span>: cdef channel channel</pre> <pre class="cython line score-0"> <span class="">232</span>: cdef object callback</pre> <pre class="cython line score-18" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">233</span>: channel, callback = <tuple>arg</pre> <pre class='cython code score-18 '> __pyx_t_1 = ((PyObject *)__pyx_v_arg); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); if (likely(__pyx_t_1 != Py_None)) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = <span class='pyx_c_api'>__Pyx_PySequence_SIZE</span>(sequence); if (unlikely(size != 2)) { if (size > 2) <span class='pyx_c_api'>__Pyx_RaiseTooManyValuesError</span>(2); else if (size >= 0) <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(size); <span class='error_goto'>__PYX_ERR(0, 233, __pyx_L1_error)</span> } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 0); __pyx_t_3 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); #else __pyx_t_2 = <span class='py_macro_api'>PySequence_ITEM</span>(sequence, 0);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='py_macro_api'>PySequence_ITEM</span>(sequence, 1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); #endif <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } else { <span class='pyx_c_api'>__Pyx_RaiseNoneNotIterableError</span>(); <span class='error_goto'>__PYX_ERR(0, 233, __pyx_L1_error)</span> } if (!(likely(((__pyx_t_2) == Py_None) || likely(<span class='pyx_c_api'>__Pyx_TypeTest</span>(__pyx_t_2, __pyx_ptype_6gevent_8resolver_5cares_channel))))) <span class='error_goto'>__PYX_ERR(0, 233, __pyx_L1_error)</span> __pyx_v_channel = ((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_t_2); __pyx_t_2 = 0; __pyx_v_callback = __pyx_t_3; __pyx_t_3 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">234</span>: Py_DECREF(<tuple>arg)</pre> <pre class='cython code score-0 '> Py_DECREF(((PyObject *)__pyx_v_arg)); </pre><pre class="cython line score-0"> <span class="">235</span>: cdef object node</pre> <pre class="cython line score-0"> <span class="">236</span>: cdef object service</pre> <pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">237</span>: try:</pre> <pre class='cython code score-14 '> { /*try:*/ { /* … */ } <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L8_try_end; __pyx_L3_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; /* … */ <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_6); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_4, __pyx_t_5, __pyx_t_6); goto __pyx_L1_error; __pyx_L4_exception_handled:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_4); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_6); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_4, __pyx_t_5, __pyx_t_6); __pyx_L8_try_end:; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">238</span>: if status:</pre> <pre class='cython code score-0 '> __pyx_t_7 = (__pyx_v_status != 0); if (__pyx_t_7) { /* … */ goto __pyx_L9; } </pre><pre class="cython line score-74" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">239</span>: callback(result(None, gaierror(status, strerror(status))))</pre> <pre class='cython code score-74 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_8 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_status);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_status);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_10 = __pyx_f_6gevent_8resolver_5cares_strerror(__pyx_t_9, 0);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_12 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_11);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12); if (__pyx_t_9) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_12, 0, __pyx_t_9); __pyx_t_9 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_12, 0+__pyx_t_11, __pyx_t_8); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_10); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_12, 1+__pyx_t_11, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_10 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_12, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 0, Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_6gevent_8resolver_5cares_result), __pyx_t_2, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); __pyx_t_2 = __pyx_v_callback; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_12 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_12, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 239, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-0"> <span class="">240</span>: else:</pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">241</span>: if c_node:</pre> <pre class='cython code score-0 '> /*else*/ { __pyx_t_7 = (__pyx_v_c_node != 0); if (__pyx_t_7) { /* … */ goto __pyx_L10; } </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">242</span>: node = PyUnicode_FromString(c_node)</pre> <pre class='cython code score-5 '> __pyx_t_1 = <span class='py_c_api'>PyUnicode_FromString</span>(__pyx_v_c_node);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_v_node = __pyx_t_1; __pyx_t_1 = 0; </pre><pre class="cython line score-0"> <span class="">243</span>: else:</pre> <pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">244</span>: node = None</pre> <pre class='cython code score-1 '> /*else*/ { <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_v_node = Py_None; } __pyx_L10:; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">245</span>: if c_service:</pre> <pre class='cython code score-0 '> __pyx_t_7 = (__pyx_v_c_service != 0); if (__pyx_t_7) { /* … */ goto __pyx_L11; } </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">246</span>: service = PyUnicode_FromString(c_service)</pre> <pre class='cython code score-5 '> __pyx_t_1 = <span class='py_c_api'>PyUnicode_FromString</span>(__pyx_v_c_service);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_v_service = __pyx_t_1; __pyx_t_1 = 0; </pre><pre class="cython line score-0"> <span class="">247</span>: else:</pre> <pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">248</span>: service = None</pre> <pre class='cython code score-1 '> /*else*/ { <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_v_service = Py_None; } __pyx_L11:; </pre><pre class="cython line score-29" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">249</span>: callback(result((node, service)))</pre> <pre class='cython code score-29 '> __pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_node); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_node); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 0, __pyx_v_node); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_service); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_service); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 1, __pyx_v_service); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)__pyx_ptype_6gevent_8resolver_5cares_result), __pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); __pyx_t_2 = __pyx_v_callback; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_12 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_12, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 249, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L9:; </pre><pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">250</span>: except:</pre> <pre class='cython code score-4 '> /*except:*/ { <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.gevent_ares_nameinfo_callback", __pyx_clineno, __pyx_lineno, __pyx_filename); if (<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) <span class='error_goto'>__PYX_ERR(0, 250, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); </pre><pre class="cython line score-48" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">251</span>: channel.loop.handle_error(callback, *sys.exc_info())</pre> <pre class='cython code score-48 '> __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_channel->loop, __pyx_n_s_handle_error);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12); __pyx_t_10 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_callback); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0, __pyx_v_callback); <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_9, __pyx_n_s_sys);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_13 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_9, __pyx_n_s_exc_info);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_13))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_13); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_13, function); } } __pyx_t_8 = (__pyx_t_9) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_13, __pyx_t_9) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_8)) <span class='error_goto'>__PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = <span class='pyx_c_api'>__Pyx_PySequence_Tuple</span>(__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_10, __pyx_t_13);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_12, __pyx_t_8, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 251, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_13); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_13); __pyx_t_13 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; </pre><pre class="cython line score-0"> <span class="">252</span>: </pre> <pre class="cython line score-0"> <span class="">253</span>: </pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">254</span>: cdef class channel:</pre> <pre class='cython code score-0 '>struct __pyx_obj_6gevent_8resolver_5cares_channel { PyObject_HEAD struct __pyx_vtabstruct_6gevent_8resolver_5cares_channel *__pyx_vtab; PyObject *loop; struct ares_channeldata *channel; PyObject *_watchers; PyObject *_timer; }; struct __pyx_vtabstruct_6gevent_8resolver_5cares_channel { PyObject *(*set_servers)(struct __pyx_obj_6gevent_8resolver_5cares_channel *, int __pyx_skip_dispatch, struct __pyx_opt_args_6gevent_8resolver_5cares_7channel_set_servers *__pyx_optional_args); PyObject *(*_sock_state_callback)(struct __pyx_obj_6gevent_8resolver_5cares_channel *, int, int, int); PyObject *(*_getnameinfo)(struct __pyx_obj_6gevent_8resolver_5cares_channel *, PyObject *, PyObject *, int, int __pyx_skip_dispatch); }; static struct __pyx_vtabstruct_6gevent_8resolver_5cares_channel *__pyx_vtabptr_6gevent_8resolver_5cares_channel; </pre><pre class="cython line score-0"> <span class="">255</span>: </pre> <pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">256</span>: cdef public object loop</pre> <pre class='cython code score-6 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_4loop_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_4loop_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_4loop___get__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_4loop___get__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->loop); __pyx_r = __pyx_v_self->loop; goto __pyx_L0; /* function exit code */ __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_4loop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_4loop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_4loop_2__set__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel_4loop_2__set__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->loop); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->loop); __pyx_v_self->loop = __pyx_v_value; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_4loop_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_4loop_5__del__(PyObject *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_4loop_4__del__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel_4loop_4__del__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->loop); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->loop); __pyx_v_self->loop = Py_None; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0"> <span class="">257</span>: cdef ares_channeldata* channel</pre> <pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">258</span>: cdef public dict _watchers</pre> <pre class='cython code score-19 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_9_watchers_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_9_watchers_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_9_watchers___get__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_9_watchers___get__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->_watchers); __pyx_r = __pyx_v_self->_watchers; goto __pyx_L0; /* function exit code */ __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_9_watchers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_9_watchers_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_9_watchers_2__set__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel_9_watchers_2__set__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__", 0); if (!(likely(<span class='py_c_api'>PyDict_CheckExact</span>(__pyx_v_value))||((__pyx_v_value) == Py_None)||(<span class='py_c_api'>PyErr_Format</span>(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) <span class='error_goto'>__PYX_ERR(0, 258, __pyx_L1_error)</span> __pyx_t_1 = __pyx_v_value; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->_watchers); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->_watchers); __pyx_v_self->_watchers = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._watchers.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_9_watchers_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_9_watchers_5__del__(PyObject *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_9_watchers_4__del__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel_9_watchers_4__del__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->_watchers); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->_watchers); __pyx_v_self->_watchers = ((PyObject*)Py_None); /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">259</span>: cdef public object _timer</pre> <pre class='cython code score-6 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_6_timer_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_6_timer_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_6_timer___get__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_6_timer___get__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__get__", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->_timer); __pyx_r = __pyx_v_self->_timer; goto __pyx_L0; /* function exit code */ __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_6_timer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_6_timer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_6_timer_2__set__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel_6_timer_2__set__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__set__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_value); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->_timer); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->_timer); __pyx_v_self->_timer = __pyx_v_value; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_6_timer_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_6_timer_5__del__(PyObject *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_6_timer_4__del__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel_6_timer_4__del__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__del__", 0); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->_timer); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->_timer); __pyx_v_self->_timer = Py_None; /* function exit code */ __pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0"> <span class="">260</span>: </pre> <pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">261</span>: def __init__(self, object loop, flags=None, timeout=None, tries=None, ndots=None,</pre> <pre class='cython code score-8 '>/* Python wrapper */ static int __pyx_pw_6gevent_8resolver_5cares_7channel_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6gevent_8resolver_5cares_7channel_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_loop = 0; PyObject *__pyx_v_flags = 0; PyObject *__pyx_v_timeout = 0; PyObject *__pyx_v_tries = 0; PyObject *__pyx_v_ndots = 0; PyObject *__pyx_v_udp_port = 0; PyObject *__pyx_v_tcp_port = 0; PyObject *__pyx_v_servers = 0; int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loop,&__pyx_n_s_flags,&__pyx_n_s_timeout,&__pyx_n_s_tries,&__pyx_n_s_ndots,&__pyx_n_s_udp_port,&__pyx_n_s_tcp_port,&__pyx_n_s_servers,0}; PyObject* values[8] = {0,0,0,0,0,0,0,0}; values[1] = ((PyObject *)Py_None); values[2] = ((PyObject *)Py_None); values[3] = ((PyObject *)Py_None); values[4] = ((PyObject *)Py_None); /* … */ /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static int __pyx_pf_6gevent_8resolver_5cares_7channel___init__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_loop, PyObject *__pyx_v_flags, PyObject *__pyx_v_timeout, PyObject *__pyx_v_tries, PyObject *__pyx_v_ndots, PyObject *__pyx_v_udp_port, PyObject *__pyx_v_tcp_port, PyObject *__pyx_v_servers) { struct ares_channeldata *__pyx_v_channel; struct ares_options __pyx_v_options; int __pyx_v_optmask; int __pyx_v_result; int __pyx_r; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-46" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">262</span>: udp_port=None, tcp_port=None, servers=None):</pre> <pre class='cython code score-46 '> values[5] = ((PyObject *)Py_None); values[6] = ((PyObject *)Py_None); values[7] = ((PyObject *)Py_None); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 8: values[7] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_loop)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_flags); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_timeout); if (value) { values[2] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_tries); if (value) { values[3] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_ndots); if (value) { values[4] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 5: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_udp_port); if (value) { values[5] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 6: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_tcp_port); if (value) { values[6] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 7: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_servers); if (value) { values[7] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) <span class='error_goto'>__PYX_ERR(0, 261, __pyx_L3_error)</span> } } else { switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) { case 8: values[7] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_loop = values[0]; __pyx_v_flags = values[1]; __pyx_v_timeout = values[2]; __pyx_v_tries = values[3]; __pyx_v_ndots = values[4]; __pyx_v_udp_port = values[5]; __pyx_v_tcp_port = values[6]; __pyx_v_servers = values[7]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("__init__", 0, 1, 8, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 261, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel___init__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_loop, __pyx_v_flags, __pyx_v_timeout, __pyx_v_tries, __pyx_v_ndots, __pyx_v_udp_port, __pyx_v_tcp_port, __pyx_v_servers); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">263</span>: cdef ares_channeldata* channel = NULL</pre> <pre class='cython code score-0 '> __pyx_v_channel = NULL; </pre><pre class="cython line score-0"> <span class="">264</span>: cdef cares.ares_options options</pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">265</span>: memset(&options, 0, sizeof(cares.ares_options))</pre> <pre class='cython code score-0 '> memset((&__pyx_v_options), 0, (sizeof(struct ares_options))); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">266</span>: cdef int optmask = cares.ARES_OPT_SOCK_STATE_CB</pre> <pre class='cython code score-0 '> __pyx_v_optmask = ARES_OPT_SOCK_STATE_CB; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">267</span>: options.sock_state_cb = <void*>gevent_sock_state_callback</pre> <pre class='cython code score-0 '> __pyx_v_options.sock_state_cb = ((void *)__pyx_f_6gevent_8resolver_5cares_gevent_sock_state_callback); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">268</span>: options.sock_state_cb_data = <void*>self</pre> <pre class='cython code score-0 '> __pyx_v_options.sock_state_cb_data = ((void *)__pyx_v_self); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">269</span>: if flags is not None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_flags != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">270</span>: options.flags = int(flags)</pre> <pre class='cython code score-10 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyNumber_Int</span>(__pyx_v_flags);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 270, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_options.flags = __pyx_t_4; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">271</span>: optmask |= cares.ARES_OPT_FLAGS</pre> <pre class='cython code score-0 '> __pyx_v_optmask = (__pyx_v_optmask | ARES_OPT_FLAGS); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">272</span>: if timeout is not None:</pre> <pre class='cython code score-0 '> __pyx_t_2 = (__pyx_v_timeout != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">273</span>: options.timeout = int(float(timeout) * 1000)</pre> <pre class='cython code score-7 '> __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_AsDouble</span>(__pyx_v_timeout); if (unlikely(__pyx_t_5 == ((double)((double)-1)) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 273, __pyx_L1_error)</span> __pyx_v_options.timeout = ((int)(__pyx_t_5 * 1000.0)); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">274</span>: optmask |= cares.ARES_OPT_TIMEOUTMS</pre> <pre class='cython code score-0 '> __pyx_v_optmask = (__pyx_v_optmask | ARES_OPT_TIMEOUTMS); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">275</span>: if tries is not None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_tries != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">276</span>: options.tries = int(tries)</pre> <pre class='cython code score-10 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyNumber_Int</span>(__pyx_v_tries);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 276, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 276, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_options.tries = __pyx_t_4; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">277</span>: optmask |= cares.ARES_OPT_TRIES</pre> <pre class='cython code score-0 '> __pyx_v_optmask = (__pyx_v_optmask | ARES_OPT_TRIES); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">278</span>: if ndots is not None:</pre> <pre class='cython code score-0 '> __pyx_t_2 = (__pyx_v_ndots != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">279</span>: options.ndots = int(ndots)</pre> <pre class='cython code score-10 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyNumber_Int</span>(__pyx_v_ndots);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 279, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 279, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_options.ndots = __pyx_t_4; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">280</span>: optmask |= cares.ARES_OPT_NDOTS</pre> <pre class='cython code score-0 '> __pyx_v_optmask = (__pyx_v_optmask | ARES_OPT_NDOTS); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">281</span>: if udp_port is not None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_udp_port != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">282</span>: options.udp_port = int(udp_port)</pre> <pre class='cython code score-10 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyNumber_Int</span>(__pyx_v_udp_port);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_As_unsigned_short</span>(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned short)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 282, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_options.udp_port = __pyx_t_6; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">283</span>: optmask |= cares.ARES_OPT_UDP_PORT</pre> <pre class='cython code score-0 '> __pyx_v_optmask = (__pyx_v_optmask | ARES_OPT_UDP_PORT); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">284</span>: if tcp_port is not None:</pre> <pre class='cython code score-0 '> __pyx_t_2 = (__pyx_v_tcp_port != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">285</span>: options.tcp_port = int(tcp_port)</pre> <pre class='cython code score-10 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyNumber_Int</span>(__pyx_v_tcp_port);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_As_unsigned_short</span>(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned short)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 285, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_options.tcp_port = __pyx_t_6; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">286</span>: optmask |= cares.ARES_OPT_TCP_PORT</pre> <pre class='cython code score-0 '> __pyx_v_optmask = (__pyx_v_optmask | ARES_OPT_TCP_PORT); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">287</span>: cdef int result = cares.ares_library_init(cares.ARES_LIB_INIT_ALL) # ARES_LIB_INIT_WIN32 -DUSE_WINSOCK?</pre> <pre class='cython code score-0 '> __pyx_v_result = ares_library_init(ARES_LIB_INIT_ALL); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">288</span>: if result:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_result != 0); if (unlikely(__pyx_t_1)) { /* … */ } </pre><pre class="cython line score-49" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">289</span>: raise gaierror(result, strerror(result))</pre> <pre class='cython code score-49 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_8 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_result);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_result);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_10 = __pyx_f_6gevent_8resolver_5cares_strerror(__pyx_t_9, 0);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_7))) { __pyx_t_9 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_7); if (likely(__pyx_t_9)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_7, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_11 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); if (__pyx_t_9) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 0+__pyx_t_4, __pyx_t_8); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_10); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_11, 1+__pyx_t_4, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_10 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_t_11, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_3, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='error_goto'>__PYX_ERR(0, 289, __pyx_L1_error)</span> </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">290</span>: result = cares.ares_init_options(&channel, &options, optmask)</pre> <pre class='cython code score-0 '> __pyx_v_result = ares_init_options((&__pyx_v_channel), (&__pyx_v_options), __pyx_v_optmask); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">291</span>: if result:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_result != 0); if (unlikely(__pyx_t_1)) { /* … */ } </pre><pre class="cython line score-49" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">292</span>: raise gaierror(result, strerror(result))</pre> <pre class='cython code score-49 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_result);<span class='error_goto'> if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_11); __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_result);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); __pyx_t_8 = __pyx_f_6gevent_8resolver_5cares_strerror(__pyx_t_10, 0);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_7))) { __pyx_t_10 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_7); if (likely(__pyx_t_10)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_10); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_7, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_11, __pyx_t_8}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_11, __pyx_t_8}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_9 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); if (__pyx_t_10) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_10); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_11); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0+__pyx_t_4, __pyx_t_11); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 1+__pyx_t_4, __pyx_t_8); __pyx_t_11 = 0; __pyx_t_8 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_t_9, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_3, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='error_goto'>__PYX_ERR(0, 292, __pyx_L1_error)</span> </pre><pre class="cython line score-46" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">293</span>: self._timer = loop.timer(TIMEOUT, TIMEOUT)</pre> <pre class='cython code score-46 '> __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_loop, __pyx_n_s_timer);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_9, __pyx_n_s_TIMEOUT);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_8, __pyx_n_s_TIMEOUT);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_11 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_7))) { __pyx_t_11 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_7); if (likely(__pyx_t_11)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_11); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_7, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_9, __pyx_t_8}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_7)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_9, __pyx_t_8}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_10 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); if (__pyx_t_11) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_11); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0, __pyx_t_11); __pyx_t_11 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0+__pyx_t_4, __pyx_t_9); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 1+__pyx_t_4, __pyx_t_8); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_t_10, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->_timer); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->_timer); __pyx_v_self->_timer = __pyx_t_3; __pyx_t_3 = 0; </pre><pre class="cython line score-3" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">294</span>: self._watchers = {}</pre> <pre class='cython code score-3 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(0);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->_watchers); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->_watchers); __pyx_v_self->_watchers = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">295</span>: self.channel = channel</pre> <pre class='cython code score-0 '> __pyx_v_self->channel = __pyx_v_channel; </pre><pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">296</span>: try:</pre> <pre class='cython code score-11 '> { /*try:*/ { /* … */ } <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); __pyx_t_13 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L16_try_end; __pyx_L11_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; /* … */ <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_12); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_13); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_14); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_12, __pyx_t_13, __pyx_t_14); goto __pyx_L1_error; __pyx_L16_try_end:; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">297</span>: if servers is not None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_servers != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } </pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">298</span>: self.set_servers(servers)</pre> <pre class='cython code score-1 '> __pyx_t_15.__pyx_n = 1; __pyx_t_15.servers = __pyx_v_servers; __pyx_t_3 = ((struct __pyx_vtabstruct_6gevent_8resolver_5cares_channel *)__pyx_v_self->__pyx_vtab)->set_servers(__pyx_v_self, 0, &__pyx_t_15);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L11_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">299</span>: self.loop = loop</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_loop); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_loop); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->loop); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->loop); __pyx_v_self->loop = __pyx_v_loop; </pre><pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">300</span>: except:</pre> <pre class='cython code score-4 '> /*except:*/ { <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); if (<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_3, &__pyx_t_7, &__pyx_t_10) < 0) <span class='error_goto'>__PYX_ERR(0, 300, __pyx_L13_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10); </pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">301</span>: self.destroy()</pre> <pre class='cython code score-19 '> __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_destroy);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 301, __pyx_L13_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_9))) { __pyx_t_11 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_9); if (likely(__pyx_t_11)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_11); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_9, function); } } __pyx_t_8 = (__pyx_t_11) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_9, __pyx_t_11) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_8)) <span class='error_goto'>__PYX_ERR(0, 301, __pyx_L13_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">302</span>: raise</pre> <pre class='cython code score-2 '> <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_10); <span class='pyx_c_api'>__Pyx_ErrRestoreWithState</span>(__pyx_t_3, __pyx_t_7, __pyx_t_10); __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_10 = 0; <span class='error_goto'>__PYX_ERR(0, 302, __pyx_L13_except_error)</span> } __pyx_L13_except_error:; </pre><pre class="cython line score-0"> <span class="">303</span>: </pre> <pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">304</span>: def __repr__(self):</pre> <pre class='cython code score-7 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_3__repr__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_3__repr__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__repr__ (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_2__repr__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_2__repr__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { PyObject *__pyx_v_args = NULL; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__repr__", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_args); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-34" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">305</span>: args = (self.__class__.__name__, id(self), self._timer, len(self._watchers))</pre> <pre class='cython code score-34 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_class);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_1, __pyx_n_s_name);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_id, ((PyObject *)__pyx_v_self));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_3 = __pyx_v_self->_watchers; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); if (unlikely(__pyx_t_3 == Py_None)) { <span class='py_c_api'>PyErr_SetString</span>(PyExc_TypeError, "object of type 'NoneType' has no len()"); <span class='error_goto'>__PYX_ERR(0, 305, __pyx_L1_error)</span> } __pyx_t_4 = <span class='py_c_api'>PyDict_Size</span>(__pyx_t_3);<span class='error_goto'> if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 305, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = <span class='py_c_api'>PyInt_FromSsize_t</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 305, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_2); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 1, __pyx_t_1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_self->_timer); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_self->_timer); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 2, __pyx_v_self->_timer); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 3, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_v_args = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; </pre><pre class="cython line score-3" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">306</span>: return '<%s at 0x%x _timer=%r _watchers[%s]>' % args</pre> <pre class='cython code score-3 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_s_at_0x_x__timer_r__watchers_s, __pyx_v_args);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 306, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; </pre><pre class="cython line score-0"> <span class="">307</span>: </pre> <pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">308</span>: def destroy(self):</pre> <pre class='cython code score-6 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("destroy (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_4destroy(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_4destroy(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("destroy", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">309</span>: if self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_self->channel != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0"> <span class="">310</span>: # XXX ares_library_cleanup?</pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">311</span>: cares.ares_destroy(self.channel)</pre> <pre class='cython code score-0 '> ares_destroy(__pyx_v_self->channel); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">312</span>: self.channel = NULL</pre> <pre class='cython code score-0 '> __pyx_v_self->channel = NULL; </pre><pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">313</span>: self._watchers.clear()</pre> <pre class='cython code score-7 '> if (unlikely(__pyx_v_self->_watchers == Py_None)) { <span class='py_c_api'>PyErr_Format</span>(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "clear"); <span class='error_goto'>__PYX_ERR(0, 313, __pyx_L1_error)</span> } __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyDict_Clear</span>(__pyx_v_self->_watchers);<span class='error_goto'> if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 313, __pyx_L1_error)</span> </pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">314</span>: self._timer.stop()</pre> <pre class='cython code score-19 '> __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_self->_timer, __pyx_n_s_stop);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 314, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_4))) { __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_5) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_t_5) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) <span class='error_goto'>__PYX_ERR(0, 314, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">315</span>: self.loop = None</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_GIVEREF</span>(Py_None); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_v_self->loop); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_self->loop); __pyx_v_self->loop = Py_None; </pre><pre class="cython line score-0"> <span class="">316</span>: </pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">317</span>: def __dealloc__(self):</pre> <pre class='cython code score-0 '>/* Python wrapper */ static void __pyx_pw_6gevent_8resolver_5cares_7channel_7__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6gevent_8resolver_5cares_7channel_7__dealloc__(PyObject *__pyx_v_self) { <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__dealloc__ (wrapper)", 0); __pyx_pf_6gevent_8resolver_5cares_7channel_6__dealloc__(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); } static void __pyx_pf_6gevent_8resolver_5cares_7channel_6__dealloc__(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("__dealloc__", 0); /* … */ /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">318</span>: if self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_self->channel != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0"> <span class="">319</span>: # XXX ares_library_cleanup?</pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">320</span>: cares.ares_destroy(self.channel)</pre> <pre class='cython code score-0 '> ares_destroy(__pyx_v_self->channel); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">321</span>: self.channel = NULL</pre> <pre class='cython code score-0 '> __pyx_v_self->channel = NULL; </pre><pre class="cython line score-0"> <span class="">322</span>: </pre> <pre class="cython line score-63" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">323</span>: cpdef set_servers(self, servers=None):</pre> <pre class='cython code score-63 '>static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_9set_servers(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_6gevent_8resolver_5cares_7channel_set_servers(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_6gevent_8resolver_5cares_7channel_set_servers *__pyx_optional_args) { PyObject *__pyx_v_servers = ((PyObject *)Py_None); int __pyx_v_length; CYTHON_UNUSED int __pyx_v_result; int __pyx_v_index; char *__pyx_v_string; struct ares_addr_node *__pyx_v_c_servers; PyObject *__pyx_v_server = NULL; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("set_servers", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_servers = __pyx_optional_args->servers; } } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_servers); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overridden in Python */ else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP static PY_UINT64_T tp_dict_version = 0, obj_dict_version = 0; if (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict && tp_dict_version == __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) && (!Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset || obj_dict_version == __PYX_GET_DICT_VERSION(_<span class='py_c_api'>PyObject_GetDictPtr</span>(((PyObject *)__pyx_v_self)))))); else { PY_UINT64_T type_dict_guard = (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict)) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0; #endif __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_set_servers);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6gevent_8resolver_5cares_7channel_9set_servers)) { <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_3))) { __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_servers) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_3, __pyx_v_servers); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) <span class='error_goto'>__PYX_ERR(0, 323, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP tp_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0; obj_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset) ? __PYX_GET_DICT_VERSION(_<span class='py_c_api'>PyObject_GetDictPtr</span>(((PyObject *)__pyx_v_self))) : 0; if (unlikely(type_dict_guard != tp_dict_version)) { tp_dict_version = obj_dict_version = 0; } #endif <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP } #endif } /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.set_servers", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_server); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_servers); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_9set_servers(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_9set_servers(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_servers = 0; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("set_servers (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_servers,0}; PyObject* values[1] = {0}; values[0] = ((PyObject *)Py_None); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_servers); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_servers") < 0)) <span class='error_goto'>__PYX_ERR(0, 323, __pyx_L3_error)</span> } } else { switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) { case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_servers = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("set_servers", 0, 0, 1, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 323, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.set_servers", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_8set_servers(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_servers); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_8set_servers(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_servers) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("set_servers", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_2.__pyx_n = 1; __pyx_t_2.servers = __pyx_v_servers; __pyx_t_1 = __pyx_vtabptr_6gevent_8resolver_5cares_channel->set_servers(__pyx_v_self, 1, &__pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.set_servers", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* … */ struct __pyx_opt_args_6gevent_8resolver_5cares_7channel_set_servers { int __pyx_n; PyObject *servers; }; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">324</span>: if not self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_5 = ((!(__pyx_v_self->channel != 0)) != 0); if (unlikely(__pyx_t_5)) { /* … */ } </pre><pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">325</span>: raise gaierror(cares.ARES_EDESTRUCTION, 'this ares channel has been destroyed')</pre> <pre class='cython code score-45 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EDESTRUCTION);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 325, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); if (__pyx_t_4) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0+__pyx_t_6, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_kp_s_this_ares_channel_has_been_destr); __pyx_t_3 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_1, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='error_goto'>__PYX_ERR(0, 325, __pyx_L1_error)</span> </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">326</span>: if not servers:</pre> <pre class='cython code score-2 '> __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_IsTrue</span>(__pyx_v_servers); if (unlikely(__pyx_t_5 < 0)) <span class='error_goto'>__PYX_ERR(0, 326, __pyx_L1_error)</span> __pyx_t_8 = ((!__pyx_t_5) != 0); if (__pyx_t_8) { /* … */ } </pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">327</span>: servers = []</pre> <pre class='cython code score-6 '> __pyx_t_1 = <span class='py_c_api'>PyList_New</span>(0);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_servers, __pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">328</span>: if isinstance(servers, string_types):</pre> <pre class='cython code score-7 '> __pyx_t_1 = __pyx_v_6gevent_8resolver_5cares_string_types; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_8 = <span class='py_c_api'>PyObject_IsInstance</span>(__pyx_v_servers, __pyx_t_1);<span class='error_goto'> if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 328, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = (__pyx_t_8 != 0); if (__pyx_t_5) { /* … */ } </pre><pre class="cython line score-17" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">329</span>: servers = servers.split(',')</pre> <pre class='cython code score-17 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_servers, __pyx_n_s_split);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 329, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_7 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_kp_s__2) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_kp_s__2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 329, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_servers, __pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">330</span>: cdef int length = len(servers)</pre> <pre class='cython code score-5 '> __pyx_t_9 = <span class='py_c_api'>PyObject_Length</span>(__pyx_v_servers);<span class='error_goto'> if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 330, __pyx_L1_error)</span> __pyx_v_length = __pyx_t_9; </pre><pre class="cython line score-0"> <span class="">331</span>: cdef int result, index</pre> <pre class="cython line score-0"> <span class="">332</span>: cdef char* string</pre> <pre class="cython line score-0"> <span class="">333</span>: cdef cares.ares_addr_node* c_servers</pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">334</span>: if length <= 0:</pre> <pre class='cython code score-0 '> __pyx_t_5 = ((__pyx_v_length <= 0) != 0); if (__pyx_t_5) { /* … */ goto __pyx_L6; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">335</span>: result = cares.ares_set_servers(self.channel, NULL)</pre> <pre class='cython code score-0 '> __pyx_v_result = ares_set_servers(__pyx_v_self->channel, NULL); </pre><pre class="cython line score-0"> <span class="">336</span>: else:</pre> <pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">337</span>: c_servers = <cares.ares_addr_node*>PyMem_Malloc(sizeof(cares.ares_addr_node) * length)</pre> <pre class='cython code score-5 '> /*else*/ { __pyx_v_c_servers = ((struct ares_addr_node *)<span class='py_c_api'>PyMem_Malloc</span>(((sizeof(struct ares_addr_node)) * __pyx_v_length))); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">338</span>: if not c_servers:</pre> <pre class='cython code score-0 '> __pyx_t_5 = ((!(__pyx_v_c_servers != 0)) != 0); if (unlikely(__pyx_t_5)) { /* … */ } </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">339</span>: raise MemoryError</pre> <pre class='cython code score-5 '> <span class='py_c_api'>PyErr_NoMemory</span>(); <span class='error_goto'>__PYX_ERR(0, 339, __pyx_L1_error)</span> </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">340</span>: try:</pre> <pre class='cython code score-0 '> /*try:*/ { </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">341</span>: index = 0</pre> <pre class='cython code score-0 '> __pyx_v_index = 0; </pre><pre class="cython line score-43" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">342</span>: for server in servers:</pre> <pre class='cython code score-43 '> if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_v_servers)) || <span class='py_c_api'>PyTuple_CheckExact</span>(__pyx_v_servers)) { __pyx_t_1 = __pyx_v_servers; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = <span class='py_c_api'>PyObject_GetIter</span>(__pyx_v_servers);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 342, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext;<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 342, __pyx_L9_error)</span> } for (;;) { if (likely(!__pyx_t_10)) { if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_1))) { if (__pyx_t_9 >= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_1, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) <span class='error_goto'>__PYX_ERR(0, 342, __pyx_L9_error)</span> #else __pyx_t_2 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_1, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); #endif } else { if (__pyx_t_9 >= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_1, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) <span class='error_goto'>__PYX_ERR(0, 342, __pyx_L9_error)</span> #else __pyx_t_2 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_1, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_10(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>(); if (exc_type) { if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>(); else <span class='error_goto'>__PYX_ERR(0, 342, __pyx_L9_error)</span> } break; } <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); } <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_server, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __pyx_L12_break:; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">343</span>: if isinstance(server, unicode):</pre> <pre class='cython code score-5 '> __pyx_t_5 = <span class='py_c_api'>PyUnicode_Check</span>(__pyx_v_server); __pyx_t_8 = (__pyx_t_5 != 0); if (__pyx_t_8) { /* … */ } </pre><pre class="cython line score-17" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">344</span>: server = server.encode('ascii')</pre> <pre class='cython code score-17 '> __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_server, __pyx_n_s_encode);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 344, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_7))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_7, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_3, __pyx_n_s_ascii) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_n_s_ascii); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) <span class='error_goto'>__PYX_ERR(0, 344, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_server, __pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">345</span>: string = <char*?>server</pre> <pre class='cython code score-7 '> __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyObject_AsWritableString</span>(__pyx_v_server); if (unlikely((!__pyx_t_11) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 345, __pyx_L9_error)</span> __pyx_v_string = ((char *)__pyx_t_11); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">346</span>: if cares.ares_inet_pton(AF_INET, string, &c_servers[index].addr) > 0:</pre> <pre class='cython code score-0 '> __pyx_t_8 = ((ares_inet_pton(AF_INET, __pyx_v_string, (&(__pyx_v_c_servers[__pyx_v_index]).addr)) > 0) != 0); if (__pyx_t_8) { /* … */ goto __pyx_L14; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">347</span>: c_servers[index].family = AF_INET</pre> <pre class='cython code score-0 '> (__pyx_v_c_servers[__pyx_v_index]).family = AF_INET; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">348</span>: elif cares.ares_inet_pton(AF_INET6, string, &c_servers[index].addr) > 0:</pre> <pre class='cython code score-0 '> __pyx_t_8 = ((ares_inet_pton(AF_INET6, __pyx_v_string, (&(__pyx_v_c_servers[__pyx_v_index]).addr)) > 0) != 0); if (likely(__pyx_t_8)) { /* … */ goto __pyx_L14; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">349</span>: c_servers[index].family = AF_INET6</pre> <pre class='cython code score-0 '> (__pyx_v_c_servers[__pyx_v_index]).family = AF_INET6; </pre><pre class="cython line score-0"> <span class="">350</span>: else:</pre> <pre class="cython line score-28" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">351</span>: raise InvalidIP(repr(string))</pre> <pre class='cython code score-28 '> /*else*/ { <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_InvalidIP);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 351, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyBytes_FromString</span>(__pyx_v_string);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='py_c_api'>PyObject_Repr</span>(__pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 351, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_7))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_7, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_3, __pyx_t_4) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) <span class='error_goto'>__PYX_ERR(0, 351, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_2, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='error_goto'>__PYX_ERR(0, 351, __pyx_L9_error)</span> } __pyx_L14:; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">352</span>: c_servers[index].next = &c_servers[index] + 1</pre> <pre class='cython code score-0 '> (__pyx_v_c_servers[__pyx_v_index]).next = ((&(__pyx_v_c_servers[__pyx_v_index])) + 1); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">353</span>: index += 1</pre> <pre class='cython code score-0 '> __pyx_v_index = (__pyx_v_index + 1); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">354</span>: if index >= length:</pre> <pre class='cython code score-0 '> __pyx_t_8 = ((__pyx_v_index >= __pyx_v_length) != 0); if (__pyx_t_8) { /* … */ } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">355</span>: break</pre> <pre class='cython code score-0 '> goto __pyx_L12_break; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">356</span>: c_servers[length - 1].next = NULL</pre> <pre class='cython code score-0 '> (__pyx_v_c_servers[(__pyx_v_length - 1)]).next = NULL; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">357</span>: index = cares.ares_set_servers(self.channel, c_servers)</pre> <pre class='cython code score-0 '> __pyx_v_index = ares_set_servers(__pyx_v_self->channel, __pyx_v_c_servers); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">358</span>: if index:</pre> <pre class='cython code score-0 '> __pyx_t_8 = (__pyx_v_index != 0); if (unlikely(__pyx_t_8)) { /* … */ } } </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">359</span>: raise ValueError(strerror(index))</pre> <pre class='cython code score-9 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_index);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_t_2 = __pyx_f_6gevent_8resolver_5cares_strerror(__pyx_t_1, 0);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_ValueError, __pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L9_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_1, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='error_goto'>__PYX_ERR(0, 359, __pyx_L9_error)</span> </pre><pre class="cython line score-0"> <span class="">360</span>: finally:</pre> <pre class="cython line score-25" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">361</span>: PyMem_Free(c_servers)</pre> <pre class='cython code score-25 '> /*finally:*/ { /*normal exit:*/{ <span class='py_c_api'>PyMem_Free</span>(__pyx_v_c_servers); goto __pyx_L10; } __pyx_L9_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) <span class='pyx_c_api'>__Pyx_ExceptionSwap</span>(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); if ((PY_MAJOR_VERSION < 3) || unlikely(<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16) < 0)) <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_14); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_15); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_16); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_17); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_18); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_19); __pyx_t_6 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename; { <span class='py_c_api'>PyMem_Free</span>(__pyx_v_c_servers); } if (PY_MAJOR_VERSION >= 3) { <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_17); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_18); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_19); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_17, __pyx_t_18, __pyx_t_19); } <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_14); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_15); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_16); <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_t_14, __pyx_t_15, __pyx_t_16); __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13; goto __pyx_L1_error; } __pyx_L10:; } } __pyx_L6:; </pre><pre class="cython line score-0"> <span class="">362</span>: </pre> <pre class="cython line score-0"> <span class="">363</span>: # this crashes c-ares</pre> <pre class="cython line score-0"> <span class="">364</span>: #def cancel(self):</pre> <pre class="cython line score-0"> <span class="">365</span>: # cares.ares_cancel(self.channel)</pre> <pre class="cython line score-0"> <span class="">366</span>: </pre> <pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">367</span>: cdef _sock_state_callback(self, int socket, int read, int write):</pre> <pre class='cython code score-10 '>static PyObject *__pyx_f_6gevent_8resolver_5cares_7channel__sock_state_callback(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, int __pyx_v_socket, int __pyx_v_read, int __pyx_v_write) { PyObject *__pyx_v_watcher = 0; int __pyx_v_events; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_sock_state_callback", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._sock_state_callback", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_watcher); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">368</span>: if not self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!(__pyx_v_self->channel != 0)) != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">369</span>: return</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">370</span>: cdef object watcher = self._watchers.get(socket)</pre> <pre class='cython code score-10 '> if (unlikely(__pyx_v_self->_watchers == Py_None)) { <span class='py_c_api'>PyErr_Format</span>(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); <span class='error_goto'>__PYX_ERR(0, 370, __pyx_L1_error)</span> } __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_socket);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyDict_GetItemDefault</span>(__pyx_v_self->_watchers, __pyx_t_2, Py_None);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 370, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_watcher = __pyx_t_3; __pyx_t_3 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">371</span>: cdef int events = 0</pre> <pre class='cython code score-0 '> __pyx_v_events = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">372</span>: if read:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_read != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">373</span>: events |= EV_READ</pre> <pre class='cython code score-0 '> __pyx_v_events = (__pyx_v_events | 1); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">374</span>: if write:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_write != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">375</span>: events |= EV_WRITE</pre> <pre class='cython code score-0 '> __pyx_v_events = (__pyx_v_events | 2); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">376</span>: if watcher is None:</pre> <pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_watcher == Py_None); __pyx_t_4 = (__pyx_t_1 != 0); if (__pyx_t_4) { /* … */ goto __pyx_L6; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">377</span>: if not events:</pre> <pre class='cython code score-0 '> __pyx_t_4 = ((!(__pyx_v_events != 0)) != 0); if (__pyx_t_4) { /* … */ } </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">378</span>: return</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; </pre><pre class="cython line score-46" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">379</span>: watcher = self.loop.io(socket, events)</pre> <pre class='cython code score-46 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_self->loop, __pyx_n_s_io);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_socket);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5); __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_events);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_7 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_5, __pyx_t_6}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_5, __pyx_t_6}; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_9 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); if (__pyx_t_7) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0+__pyx_t_8, __pyx_t_5); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_6); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 1+__pyx_t_8, __pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_9, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 379, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_watcher, __pyx_t_3); __pyx_t_3 = 0; </pre><pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">380</span>: self._watchers[socket] = watcher</pre> <pre class='cython code score-13 '> if (unlikely(__pyx_v_self->_watchers == Py_None)) { <span class='py_c_api'>PyErr_SetString</span>(PyExc_TypeError, "'NoneType' object is not subscriptable"); <span class='error_goto'>__PYX_ERR(0, 380, __pyx_L1_error)</span> } __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_socket);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 380, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); if (unlikely(<span class='py_c_api'>PyDict_SetItem</span>(__pyx_v_self->_watchers, __pyx_t_3, __pyx_v_watcher) < 0)) <span class='error_goto'>__PYX_ERR(0, 380, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">381</span>: elif events:</pre> <pre class='cython code score-0 '> __pyx_t_4 = (__pyx_v_events != 0); if (__pyx_t_4) { /* … */ goto __pyx_L6; } </pre><pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">382</span>: if watcher.events == events:</pre> <pre class='cython code score-14 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_events);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 382, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_events);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 382, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_9 = <span class='py_c_api'>PyObject_RichCompare</span>(__pyx_t_3, __pyx_t_2, Py_EQ); <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_t_9);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 382, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_IsTrue</span>(__pyx_t_9); if (unlikely(__pyx_t_4 < 0)) <span class='error_goto'>__PYX_ERR(0, 382, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_4) { /* … */ } </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">383</span>: return</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; </pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">384</span>: watcher.stop()</pre> <pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_stop);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_9 = (__pyx_t_3) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) <span class='error_goto'>__PYX_ERR(0, 384, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">385</span>: watcher.events = events</pre> <pre class='cython code score-5 '> __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_events);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 385, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); if (<span class='pyx_c_api'>__Pyx_PyObject_SetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_events, __pyx_t_9) < 0) <span class='error_goto'>__PYX_ERR(0, 385, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; </pre><pre class="cython line score-0"> <span class="">386</span>: else:</pre> <pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">387</span>: watcher.stop()</pre> <pre class='cython code score-19 '> /*else*/ { __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_stop);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 387, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_9 = (__pyx_t_3) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) <span class='error_goto'>__PYX_ERR(0, 387, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; </pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">388</span>: watcher.close()</pre> <pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_close);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 388, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_9 = (__pyx_t_3) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) <span class='error_goto'>__PYX_ERR(0, 388, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; </pre><pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">389</span>: self._watchers.pop(socket, None)</pre> <pre class='cython code score-11 '> if (unlikely(__pyx_v_self->_watchers == Py_None)) { <span class='py_c_api'>PyErr_Format</span>(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop"); <span class='error_goto'>__PYX_ERR(0, 389, __pyx_L1_error)</span> } __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_socket);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 389, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyDict_Pop</span>(__pyx_v_self->_watchers, __pyx_t_9, Py_None);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">390</span>: if not self._watchers:</pre> <pre class='cython code score-2 '> __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_IsTrue</span>(__pyx_v_self->_watchers); if (unlikely(__pyx_t_4 < 0)) <span class='error_goto'>__PYX_ERR(0, 390, __pyx_L1_error)</span> __pyx_t_1 = ((!__pyx_t_4) != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">391</span>: self._timer.stop()</pre> <pre class='cython code score-19 '> __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_self->_timer, __pyx_n_s_stop);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 391, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_9))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_9, function); } } __pyx_t_2 = (__pyx_t_3) ? <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_9, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) <span class='error_goto'>__PYX_ERR(0, 391, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">392</span>: return</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; } __pyx_L6:; </pre><pre class="cython line score-25" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">393</span>: watcher.start(self._process_fd, watcher, pass_events=True)</pre> <pre class='cython code score-25 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_start);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_process_fd);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 393, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_9); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_watcher); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_watcher); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_v_watcher); __pyx_t_9 = 0; __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 393, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_9, __pyx_n_s_pass_events, Py_True) < 0) <span class='error_goto'>__PYX_ERR(0, 393, __pyx_L1_error)</span> __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_3, __pyx_t_9);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 393, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0; </pre><pre class="cython line score-20" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">394</span>: self._timer.again(self._on_timer)</pre> <pre class='cython code score-20 '> __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_self->_timer, __pyx_n_s_again);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 394, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_on_timer);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_9))) { __pyx_t_2 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_9); if (likely(__pyx_t_2)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_9, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_2, __pyx_t_3) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_9, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) <span class='error_goto'>__PYX_ERR(0, 394, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0; </pre><pre class="cython line score-0"> <span class="">395</span>: </pre> <pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">396</span>: def _on_timer(self):</pre> <pre class='cython code score-1 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_11_on_timer(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_11_on_timer(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_on_timer (wrapper)", 0); __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_10_on_timer(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self)); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_10_on_timer(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_on_timer", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">397</span>: cares.ares_process_fd(self.channel, cares.ARES_SOCKET_BAD, cares.ARES_SOCKET_BAD)</pre> <pre class='cython code score-0 '> ares_process_fd(__pyx_v_self->channel, ARES_SOCKET_BAD, ARES_SOCKET_BAD); </pre><pre class="cython line score-0"> <span class="">398</span>: </pre> <pre class="cython line score-35" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">399</span>: def _process_fd(self, int events, object watcher):</pre> <pre class='cython code score-35 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_13_process_fd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_13_process_fd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_events; PyObject *__pyx_v_watcher = 0; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_process_fd (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_events,&__pyx_n_s_watcher,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_events)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_watcher)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("_process_fd", 1, 2, 2, 1); <span class='error_goto'>__PYX_ERR(0, 399, __pyx_L3_error)</span> } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_process_fd") < 0)) <span class='error_goto'>__PYX_ERR(0, 399, __pyx_L3_error)</span> } } else if (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); } __pyx_v_events = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_events == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 399, __pyx_L3_error)</span> __pyx_v_watcher = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("_process_fd", 1, 2, 2, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 399, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._process_fd", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_12_process_fd(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_events, __pyx_v_watcher); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_12_process_fd(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, int __pyx_v_events, PyObject *__pyx_v_watcher) { int __pyx_v_read_fd; int __pyx_v_write_fd; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_process_fd", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._process_fd", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">400</span>: if not self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!(__pyx_v_self->channel != 0)) != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-2" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">401</span>: return</pre> <pre class='cython code score-2 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; </pre><pre class="cython line score-10" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">402</span>: cdef int read_fd = watcher.fd</pre> <pre class='cython code score-10 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_v_watcher, __pyx_n_s_fd);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 402, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_read_fd = __pyx_t_3; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">403</span>: cdef int write_fd = read_fd</pre> <pre class='cython code score-0 '> __pyx_v_write_fd = __pyx_v_read_fd; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">404</span>: if not (events & EV_READ):</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!((__pyx_v_events & 1) != 0)) != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">405</span>: read_fd = cares.ARES_SOCKET_BAD</pre> <pre class='cython code score-0 '> __pyx_v_read_fd = ARES_SOCKET_BAD; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">406</span>: if not (events & EV_WRITE):</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!((__pyx_v_events & 2) != 0)) != 0); if (__pyx_t_1) { /* … */ } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">407</span>: write_fd = cares.ARES_SOCKET_BAD</pre> <pre class='cython code score-0 '> __pyx_v_write_fd = ARES_SOCKET_BAD; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">408</span>: cares.ares_process_fd(self.channel, read_fd, write_fd)</pre> <pre class='cython code score-0 '> ares_process_fd(__pyx_v_self->channel, __pyx_v_read_fd, __pyx_v_write_fd); </pre><pre class="cython line score-0"> <span class="">409</span>: </pre> <pre class="cython line score-51" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">410</span>: def gethostbyname(self, object callback, char* name, int family=AF_INET):</pre> <pre class='cython code score-51 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_15gethostbyname(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_15gethostbyname(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_callback = 0; char *__pyx_v_name; int __pyx_v_family; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gethostbyname (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback,&__pyx_n_s_name_2,&__pyx_n_s_family,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_name_2)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("gethostbyname", 0, 2, 3, 1); <span class='error_goto'>__PYX_ERR(0, 410, __pyx_L3_error)</span> } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_family); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "gethostbyname") < 0)) <span class='error_goto'>__PYX_ERR(0, 410, __pyx_L3_error)</span> } } else { switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) { case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_callback = values[0]; __pyx_v_name = <span class='pyx_c_api'>__Pyx_PyObject_AsWritableString</span>(values[1]); if (unlikely((!__pyx_v_name) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 410, __pyx_L3_error)</span> if (values[2]) { __pyx_v_family = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[2]); if (unlikely((__pyx_v_family == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 410, __pyx_L3_error)</span> } else { __pyx_v_family = __pyx_k__3; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("gethostbyname", 0, 2, 3, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 410, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.gethostbyname", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_14gethostbyname(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_callback, __pyx_v_name, __pyx_v_family); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_14gethostbyname(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_callback, char *__pyx_v_name, int __pyx_v_family) { PyObject *__pyx_v_arg = 0; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gethostbyname", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.gethostbyname", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_arg); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* … */ __pyx_k__3 = AF_INET; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">411</span>: if not self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!(__pyx_v_self->channel != 0)) != 0); if (unlikely(__pyx_t_1)) { /* … */ } </pre><pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">412</span>: raise gaierror(cares.ARES_EDESTRUCTION, 'this ares channel has been destroyed')</pre> <pre class='cython code score-45 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_3, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 412, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EDESTRUCTION);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 412, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_3))) { __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_3, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 412, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); if (__pyx_t_5) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0+__pyx_t_6, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_kp_s_this_ares_channel_has_been_destr); __pyx_t_4 = 0; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_3, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_2, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='error_goto'>__PYX_ERR(0, 412, __pyx_L1_error)</span> </pre><pre class="cython line score-0"> <span class="">413</span>: # note that for file lookups still AF_INET can be returned for AF_INET6 request</pre> <pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">414</span>: cdef object arg = (self, callback)</pre> <pre class='cython code score-9 '> __pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 414, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_v_self)); <span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)__pyx_v_self)); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 0, ((PyObject *)__pyx_v_self)); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_callback); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 1, __pyx_v_callback); __pyx_v_arg = __pyx_t_2; __pyx_t_2 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">415</span>: Py_INCREF(arg)</pre> <pre class='cython code score-0 '> Py_INCREF(__pyx_v_arg); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">416</span>: cares.ares_gethostbyname(self.channel, name, family, <void*>gevent_ares_host_callback, <void*>arg)</pre> <pre class='cython code score-0 '> ares_gethostbyname(__pyx_v_self->channel, __pyx_v_name, __pyx_v_family, ((void *)__pyx_f_6gevent_8resolver_5cares_gevent_ares_host_callback), ((void *)__pyx_v_arg)); </pre><pre class="cython line score-0"> <span class="">417</span>: </pre> <pre class="cython line score-40" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">418</span>: def gethostbyaddr(self, object callback, char* addr):</pre> <pre class='cython code score-40 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_17gethostbyaddr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_17gethostbyaddr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_callback = 0; char *__pyx_v_addr; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gethostbyaddr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback,&__pyx_n_s_addr,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_addr)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("gethostbyaddr", 1, 2, 2, 1); <span class='error_goto'>__PYX_ERR(0, 418, __pyx_L3_error)</span> } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "gethostbyaddr") < 0)) <span class='error_goto'>__PYX_ERR(0, 418, __pyx_L3_error)</span> } } else if (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); } __pyx_v_callback = values[0]; __pyx_v_addr = <span class='pyx_c_api'>__Pyx_PyObject_AsWritableString</span>(values[1]); if (unlikely((!__pyx_v_addr) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 418, __pyx_L3_error)</span> } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("gethostbyaddr", 1, 2, 2, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 418, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.gethostbyaddr", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_16gethostbyaddr(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_callback, __pyx_v_addr); /* function exit code */ <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_16gethostbyaddr(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_callback, char *__pyx_v_addr) { char __pyx_v_addr_packed[16]; int __pyx_v_family; int __pyx_v_length; PyObject *__pyx_v_arg = 0; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("gethostbyaddr", 0); /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.gethostbyaddr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_arg); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">419</span>: if not self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((!(__pyx_v_self->channel != 0)) != 0); if (unlikely(__pyx_t_1)) { /* … */ } </pre><pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">420</span>: raise gaierror(cares.ARES_EDESTRUCTION, 'this ares channel has been destroyed')</pre> <pre class='cython code score-45 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_3, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 420, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EDESTRUCTION);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 420, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_3))) { __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_3, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 420, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); if (__pyx_t_5) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0+__pyx_t_6, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_kp_s_this_ares_channel_has_been_destr); __pyx_t_4 = 0; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_3, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_2, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='error_goto'>__PYX_ERR(0, 420, __pyx_L1_error)</span> </pre><pre class="cython line score-0"> <span class="">421</span>: # will guess the family</pre> <pre class="cython line score-0"> <span class="">422</span>: cdef char addr_packed[16]</pre> <pre class="cython line score-0"> <span class="">423</span>: cdef int family</pre> <pre class="cython line score-0"> <span class="">424</span>: cdef int length</pre> <pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">425</span>: if cares.ares_inet_pton(AF_INET, addr, addr_packed) > 0:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((ares_inet_pton(AF_INET, __pyx_v_addr, __pyx_v_addr_packed) > 0) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L4; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">426</span>: family = AF_INET</pre> <pre class='cython code score-0 '> __pyx_v_family = AF_INET; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">427</span>: length = 4</pre> <pre class='cython code score-0 '> __pyx_v_length = 4; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">428</span>: elif cares.ares_inet_pton(AF_INET6, addr, addr_packed) > 0:</pre> <pre class='cython code score-0 '> __pyx_t_1 = ((ares_inet_pton(AF_INET6, __pyx_v_addr, __pyx_v_addr_packed) > 0) != 0); if (likely(__pyx_t_1)) { /* … */ goto __pyx_L4; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">429</span>: family = AF_INET6</pre> <pre class='cython code score-0 '> __pyx_v_family = AF_INET6; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">430</span>: length = 16</pre> <pre class='cython code score-0 '> __pyx_v_length = 16; </pre><pre class="cython line score-0"> <span class="">431</span>: else:</pre> <pre class="cython line score-28" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">432</span>: raise InvalidIP(repr(addr))</pre> <pre class='cython code score-28 '> /*else*/ { <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_3, __pyx_n_s_InvalidIP);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyBytes_FromString</span>(__pyx_v_addr);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 432, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_4 = <span class='py_c_api'>PyObject_Repr</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 432, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_3))) { __pyx_t_7 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_4) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_3, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) <span class='error_goto'>__PYX_ERR(0, 432, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_2, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='error_goto'>__PYX_ERR(0, 432, __pyx_L1_error)</span> } __pyx_L4:; </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">433</span>: cdef object arg = (self, callback)</pre> <pre class='cython code score-9 '> __pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 433, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_v_self)); <span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)__pyx_v_self)); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 0, ((PyObject *)__pyx_v_self)); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_callback); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 1, __pyx_v_callback); __pyx_v_arg = __pyx_t_2; __pyx_t_2 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">434</span>: Py_INCREF(arg)</pre> <pre class='cython code score-0 '> Py_INCREF(__pyx_v_arg); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">435</span>: cares.ares_gethostbyaddr(self.channel, addr_packed, length, family, <void*>gevent_ares_host_callback, <void*>arg)</pre> <pre class='cython code score-0 '> ares_gethostbyaddr(__pyx_v_self->channel, __pyx_v_addr_packed, __pyx_v_length, __pyx_v_family, ((void *)__pyx_f_6gevent_8resolver_5cares_gevent_ares_host_callback), ((void *)__pyx_v_arg)); </pre><pre class="cython line score-0"> <span class="">436</span>: </pre> <pre class="cython line score-111" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">437</span>: cpdef _getnameinfo(self, object callback, tuple sockaddr, int flags):</pre> <pre class='cython code score-111 '>static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_19_getnameinfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_6gevent_8resolver_5cares_7channel__getnameinfo(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_callback, PyObject *__pyx_v_sockaddr, int __pyx_v_flags, int __pyx_skip_dispatch) { char *__pyx_v_hostp; int __pyx_v_port; int __pyx_v_flowinfo; int __pyx_v_scope_id; struct sockaddr_in6 __pyx_v_sa6; int __pyx_v_length; PyObject *__pyx_v_arg = 0; struct sockaddr *__pyx_v_x; PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_getnameinfo", 0); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overridden in Python */ else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP static PY_UINT64_T tp_dict_version = 0, obj_dict_version = 0; if (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict && tp_dict_version == __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) && (!Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset || obj_dict_version == __PYX_GET_DICT_VERSION(_<span class='py_c_api'>PyObject_GetDictPtr</span>(((PyObject *)__pyx_v_self)))))); else { PY_UINT64_T type_dict_guard = (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict)) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0; #endif __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(((PyObject *)__pyx_v_self), __pyx_n_s_getnameinfo);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6gevent_8resolver_5cares_7channel_19_getnameinfo)) { <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_flags);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_4))) { __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_4, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_callback, __pyx_v_sockaddr, __pyx_t_3}; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_callback, __pyx_v_sockaddr, __pyx_t_3}; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); if (__pyx_t_5) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_callback); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0+__pyx_t_6, __pyx_v_callback); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_sockaddr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_sockaddr); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_v_sockaddr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 2+__pyx_t_6, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP tp_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0; obj_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset) ? __PYX_GET_DICT_VERSION(_<span class='py_c_api'>PyObject_GetDictPtr</span>(((PyObject *)__pyx_v_self))) : 0; if (unlikely(type_dict_guard != tp_dict_version)) { tp_dict_version = obj_dict_version = 0; } #endif <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP } #endif } /* … */ /* function exit code */ __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); goto __pyx_L0; __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._getnameinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_arg); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_19_getnameinfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_19_getnameinfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_callback = 0; PyObject *__pyx_v_sockaddr = 0; int __pyx_v_flags; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_getnameinfo (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback,&__pyx_n_s_sockaddr,&__pyx_n_s_flags,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_sockaddr)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("_getnameinfo", 1, 3, 3, 1); <span class='error_goto'>__PYX_ERR(0, 437, __pyx_L3_error)</span> } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_flags)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("_getnameinfo", 1, 3, 3, 2); <span class='error_goto'>__PYX_ERR(0, 437, __pyx_L3_error)</span> } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_getnameinfo") < 0)) <span class='error_goto'>__PYX_ERR(0, 437, __pyx_L3_error)</span> } } else if (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); } __pyx_v_callback = values[0]; __pyx_v_sockaddr = ((PyObject*)values[1]); __pyx_v_flags = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[2]); if (unlikely((__pyx_v_flags == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 437, __pyx_L3_error)</span> } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("_getnameinfo", 1, 3, 3, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 437, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._getnameinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!<span class='pyx_c_api'>__Pyx_ArgTypeTest</span>(((PyObject *)__pyx_v_sockaddr), (&PyTuple_Type), 1, "sockaddr", 1))) <span class='error_goto'>__PYX_ERR(0, 437, __pyx_L1_error)</span> __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_18_getnameinfo(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_callback, __pyx_v_sockaddr, __pyx_v_flags); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_18_getnameinfo(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_callback, PyObject *__pyx_v_sockaddr, int __pyx_v_flags) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("_getnameinfo", 0); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_1 = __pyx_f_6gevent_8resolver_5cares_7channel__getnameinfo(__pyx_v_self, __pyx_v_callback, __pyx_v_sockaddr, __pyx_v_flags, 1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel._getnameinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">438</span>: if not self.channel:</pre> <pre class='cython code score-0 '> __pyx_t_8 = ((!(__pyx_v_self->channel != 0)) != 0); if (unlikely(__pyx_t_8)) { /* … */ } </pre><pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">439</span>: raise gaierror(cares.ARES_EDESTRUCTION, 'this ares channel has been destroyed')</pre> <pre class='cython code score-45 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 439, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(ARES_EDESTRUCTION);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_7 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_4, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 439, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_4, __pyx_kp_s_this_ares_channel_has_been_destr}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 439, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); if (__pyx_t_7) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL; } <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0+__pyx_t_6, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_kp_s_this_ares_channel_has_been_destr); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1+__pyx_t_6, __pyx_kp_s_this_ares_channel_has_been_destr); __pyx_t_4 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_3, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 439, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_1, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='error_goto'>__PYX_ERR(0, 439, __pyx_L1_error)</span> </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">440</span>: cdef char* hostp = NULL</pre> <pre class='cython code score-0 '> __pyx_v_hostp = NULL; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">441</span>: cdef int port = 0</pre> <pre class='cython code score-0 '> __pyx_v_port = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">442</span>: cdef int flowinfo = 0</pre> <pre class='cython code score-0 '> __pyx_v_flowinfo = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">443</span>: cdef int scope_id = 0</pre> <pre class='cython code score-0 '> __pyx_v_scope_id = 0; </pre><pre class="cython line score-0"> <span class="">444</span>: cdef sockaddr_in6 sa6</pre> <pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">445</span>: if not PyTuple_Check(sockaddr):</pre> <pre class='cython code score-5 '> __pyx_t_8 = ((!(<span class='py_c_api'>PyTuple_Check</span>(__pyx_v_sockaddr) != 0)) != 0); if (unlikely(__pyx_t_8)) { /* … */ } </pre><pre class="cython line score-16" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">446</span>: raise TypeError('expected a tuple, got %r' % (sockaddr, ))</pre> <pre class='cython code score-16 '> __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 446, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_sockaddr); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_sockaddr); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, __pyx_v_sockaddr); __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_expected_a_tuple_got_r, __pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_TypeError, __pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 446, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_1, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='error_goto'>__PYX_ERR(0, 446, __pyx_L1_error)</span> </pre><pre class="cython line score-5" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">447</span>: PyArg_ParseTuple(sockaddr, "si|ii", &hostp, &port, &flowinfo, &scope_id)</pre> <pre class='cython code score-5 '> __pyx_t_6 = <span class='py_c_api'>PyArg_ParseTuple</span>(__pyx_v_sockaddr, ((char *)"si|ii"), (&__pyx_v_hostp), (&__pyx_v_port), (&__pyx_v_flowinfo), (&__pyx_v_scope_id));<span class='error_goto'> if (unlikely(__pyx_t_6 == ((int)0))) __PYX_ERR(0, 447, __pyx_L1_error)</span> </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">448</span>: if port < 0 or port > 65535:</pre> <pre class='cython code score-0 '> __pyx_t_9 = ((__pyx_v_port < 0) != 0); if (!__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L6_bool_binop_done; } __pyx_t_9 = ((__pyx_v_port > 0xFFFF) != 0); __pyx_t_8 = __pyx_t_9; __pyx_L6_bool_binop_done:; if (unlikely(__pyx_t_8)) { /* … */ } </pre><pre class="cython line score-48" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">449</span>: raise gaierror(-8, 'Invalid value for port: %r' % port)</pre> <pre class='cython code score-48 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_port);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3); __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyString_Format</span>(__pyx_kp_s_Invalid_value_for_port_r, __pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_8, __pyx_t_4}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_8, __pyx_t_4}; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); if (__pyx_t_3) { <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; } <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_neg_8); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_neg_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0+__pyx_t_6, __pyx_int_neg_8); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; } <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_1, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='error_goto'>__PYX_ERR(0, 449, __pyx_L1_error)</span> </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">450</span>: cdef int length = gevent_make_sockaddr(hostp, port, flowinfo, scope_id, &sa6)</pre> <pre class='cython code score-0 '> __pyx_v_length = gevent_make_sockaddr(__pyx_v_hostp, __pyx_v_port, __pyx_v_flowinfo, __pyx_v_scope_id, (&__pyx_v_sa6)); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">451</span>: if length <= 0:</pre> <pre class='cython code score-0 '> __pyx_t_8 = ((__pyx_v_length <= 0) != 0); if (unlikely(__pyx_t_8)) { /* … */ } </pre><pre class="cython line score-28" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">452</span>: raise InvalidIP(repr(hostp))</pre> <pre class='cython code score-28 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_InvalidIP);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2); __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyBytes_FromString</span>(__pyx_v_hostp);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 452, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); __pyx_t_4 = <span class='py_c_api'>PyObject_Repr</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) { __pyx_t_7 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_INCREF</span>(function); <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_4) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_2, __pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 452, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_c_api'>__Pyx_Raise</span>(__pyx_t_1, 0, 0, 0); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='error_goto'>__PYX_ERR(0, 452, __pyx_L1_error)</span> </pre><pre class="cython line score-9" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">453</span>: cdef object arg = (self, callback)</pre> <pre class='cython code score-9 '> __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1); <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_v_self)); <span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)__pyx_v_self)); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, ((PyObject *)__pyx_v_self)); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_callback); <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_v_callback); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 1, __pyx_v_callback); __pyx_v_arg = __pyx_t_1; __pyx_t_1 = 0; </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">454</span>: Py_INCREF(arg)</pre> <pre class='cython code score-0 '> Py_INCREF(__pyx_v_arg); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">455</span>: cdef sockaddr_t* x = <sockaddr_t*>&sa6</pre> <pre class='cython code score-0 '> __pyx_v_x = ((struct sockaddr *)(&__pyx_v_sa6)); </pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">456</span>: cares.ares_getnameinfo(self.channel, x, length, flags, <void*>gevent_ares_nameinfo_callback, <void*>arg)</pre> <pre class='cython code score-0 '> ares_getnameinfo(__pyx_v_self->channel, __pyx_v_x, __pyx_v_length, __pyx_v_flags, ((void *)__pyx_f_6gevent_8resolver_5cares_gevent_ares_nameinfo_callback), ((void *)__pyx_v_arg)); </pre><pre class="cython line score-0"> <span class="">457</span>: </pre> <pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">458</span>: def getnameinfo(self, object callback, tuple sockaddr, int flags):</pre> <pre class='cython code score-45 '>/* Python wrapper */ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_21getnameinfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6gevent_8resolver_5cares_7channel_21getnameinfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_callback = 0; PyObject *__pyx_v_sockaddr = 0; int __pyx_v_flags; PyObject *__pyx_r = 0; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("getnameinfo (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback,&__pyx_n_s_sockaddr,&__pyx_n_s_flags,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args); switch (pos_args) { case 3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_sockaddr)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("getnameinfo", 1, 3, 3, 1); <span class='error_goto'>__PYX_ERR(0, 458, __pyx_L3_error)</span> } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = <span class='pyx_c_api'>__Pyx_PyDict_GetItemStr</span>(__pyx_kwds, __pyx_n_s_flags)) != 0)) kw_args--; else { <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("getnameinfo", 1, 3, 3, 2); <span class='error_goto'>__PYX_ERR(0, 458, __pyx_L3_error)</span> } } if (unlikely(kw_args > 0)) { if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getnameinfo") < 0)) <span class='error_goto'>__PYX_ERR(0, 458, __pyx_L3_error)</span> } } else if (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0); values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1); values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2); } __pyx_v_callback = values[0]; __pyx_v_sockaddr = ((PyObject*)values[1]); __pyx_v_flags = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[2]); if (unlikely((__pyx_v_flags == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 458, __pyx_L3_error)</span> } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("getnameinfo", 1, 3, 3, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)); <span class='error_goto'>__PYX_ERR(0, 458, __pyx_L3_error)</span> __pyx_L3_error:; <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.getnameinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!<span class='pyx_c_api'>__Pyx_ArgTypeTest</span>(((PyObject *)__pyx_v_sockaddr), (&PyTuple_Type), 1, "sockaddr", 1))) <span class='error_goto'>__PYX_ERR(0, 458, __pyx_L1_error)</span> __pyx_r = __pyx_pf_6gevent_8resolver_5cares_7channel_20getnameinfo(((struct __pyx_obj_6gevent_8resolver_5cares_channel *)__pyx_v_self), __pyx_v_callback, __pyx_v_sockaddr, __pyx_v_flags); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } static PyObject *__pyx_pf_6gevent_8resolver_5cares_7channel_20getnameinfo(struct __pyx_obj_6gevent_8resolver_5cares_channel *__pyx_v_self, PyObject *__pyx_v_callback, PyObject *__pyx_v_sockaddr, int __pyx_v_flags) { PyObject *__pyx_r = NULL; <span class='refnanny'>__Pyx_RefNannyDeclarations</span> <span class='refnanny'>__Pyx_RefNannySetupContext</span>("getnameinfo", 0); /* … */ /* function exit code */ __pyx_L1_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.getnameinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r); <span class='refnanny'>__Pyx_RefNannyFinishContext</span>(); return __pyx_r; } </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">459</span>: try:</pre> <pre class='cython code score-8 '> { /*try:*/ { /* … */ } <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L8_try_end; __pyx_L3_error:; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; /* … */ <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_2); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_3); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_1, __pyx_t_2, __pyx_t_3); goto __pyx_L1_error; __pyx_L4_exception_handled:; <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_1); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_2); <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_3); <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_1, __pyx_t_2, __pyx_t_3); __pyx_L8_try_end:; } </pre><pre class="cython line score-8" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">460</span>: flags = _convert_cares_flags(flags)</pre> <pre class='cython code score-8 '> __pyx_t_4 = __pyx_f_6gevent_8resolver_5cares__convert_cares_flags(__pyx_v_flags, 0, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L3_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_4); if (unlikely((__pyx_t_5 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 460, __pyx_L3_error)</span> <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_flags = __pyx_t_5; </pre><pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">461</span>: except gaierror:</pre> <pre class='cython code score-13 '> <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7); <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_8, __pyx_n_s_gaierror);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 461, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8); __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(__pyx_t_4, __pyx_t_8); <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0; <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_t_4, __pyx_t_6, __pyx_t_7); __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; if (__pyx_t_5) { <span class='pyx_c_api'>__Pyx_AddTraceback</span>("gevent.resolver.cares.channel.getnameinfo", __pyx_clineno, __pyx_lineno, __pyx_filename); if (<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_7, &__pyx_t_6, &__pyx_t_4) < 0) <span class='error_goto'>__PYX_ERR(0, 461, __pyx_L5_except_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6); <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); </pre><pre class="cython line score-0"> <span class="">462</span>: # The stdlib just ignores bad flags</pre> <pre class="cython line score-3" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">463</span>: flags = 0</pre> <pre class='cython code score-3 '> __pyx_v_flags = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); __pyx_t_6 = 0; <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; </pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">464</span>: return self._getnameinfo(callback, sockaddr, flags)</pre> <pre class='cython code score-1 '> <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r); __pyx_t_4 = ((struct __pyx_vtabstruct_6gevent_8resolver_5cares_channel *)__pyx_v_self->__pyx_vtab)->_getnameinfo(__pyx_v_self, __pyx_v_callback, __pyx_v_sockaddr, __pyx_v_flags, 0);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __pyx_L1_error)</span> <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; </pre></div></body></html>