Re: alternative extension: php-sm-curl
Michael via curl-and-php <[email protected]> Wed, 29 Jul 2026 13:57:00 +0500
| Newsgroups | gmane.comp.web.curl.php |
|---|---|
| Message-ID | <CAMVeLLJQF4vZH+L2E7mpQFEHVQgmqAhjD9xBKs2r2OymUO9iBg@mail.gmail.com> |
--===============2887678973325574444== Content-Type: multipart/alternative; boundary="000000000000d310e50657bc2ad9" --000000000000d310e50657bc2ad9 Content-Type: text/plain; charset="UTF-8" > > > I've been a c-ares maintainer for twenty years and it has been > (optionally) > used in curl for just as long. I don't understand what you're saying, but > c-ares is not using any extra threads (the way curl uses it) but is > instead > entirely non-blocking and used in the same thread. > > this says the reverse about threading: https://github.com/c-ares/c-ares/blob/589b5887d47736e5b70a1fddaf9bf90297adde65/src/lib/config-win32.h#L241 also i saw event/ meaning "passive" model, i saw locks like here: https://github.com/c-ares/c-ares/blob/589b5887d47736e5b70a1fddaf9bf90297adde65/src/lib/event/ares_event_win32.c#L282 locks arent needed for cooperative execution because it happens in a single thread - its all mutually exclusive. so i concluded it uses threads. I'm not aware of any current bugs in that area, but there's always a risk > there's someting else. If you can reproduce with something smaller than a > full > PHP then submit an issue and we can work on it! > > yes, in the new copy ive downloaded the _destroy() function is completely different. "full PHP" is not needed btw, my extensions build outside, out of PHP source - along with it, the build is simplified this way, a single build script is enough, though you would need either PHP source or a set of PHP headers they call "SDK", of course, to run the thing you would need a compatible binary version, heres the build description: https://codeberg.org/determin1st/php-sm-test i've put CURLMOPT_QUICK_EXIT = 1 as a default option and will test it later, when the whole thing will work.. --000000000000d310e50657bc2ad9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_quote gmail_quote_container"><blockquo= te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px = solid rgb(204,204,204);padding-left:1ex"><br> I've been a c-ares maintainer for twenty years and it has been (optiona= lly) <br> used in curl for just as long. I don't understand what you're sayin= g, but <br> c-ares is not using any extra threads (the way curl uses it) but is instead= <br> entirely non-blocking and used in the same thread.<br> <br></blockquote><div>this says the reverse=C2=A0<span style=3D"color:initi= al">about threading:</span><span style=3D"color:initial">=C2=A0<a href=3D"h= ttps://github.com/c-ares/c-ares/blob/589b5887d47736e5b70a1fddaf9bf90297adde= 65/src/lib/config-win32.h#L241">https://github.com/c-ares/c-ares/blob/589b5= 887d47736e5b70a1fddaf9bf90297adde65/src/lib/config-win32.h#L241</a></span><= /div><div><br></div><div>also i saw event/ meaning "passive" mode= l, i saw locks like here:=C2=A0<a href=3D"https://github.com/c-ares/c-ares/= blob/589b5887d47736e5b70a1fddaf9bf90297adde65/src/lib/event/ares_event_win3= 2.c#L282">https://github.com/c-ares/c-ares/blob/589b5887d47736e5b70a1fddaf9= bf90297adde65/src/lib/event/ares_event_win32.c#L282</a></div><div><br></div= ><div>locks arent=C2=A0needed for cooperative execution because it happens<= /div><div>in a single thread -=C2=A0its<span style=3D"color:initial"> all m= utually exclusive.=C2=A0</span><span style=3D"color:initial">so i concluded= it uses threads.</span></div><div><span style=3D"color:initial"></span></d= iv><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px= 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> I'm not aware of any current bugs in that area, but there's always = a risk <br> there's someting else. If you can reproduce with something smaller than= a full <br> PHP then submit an issue and we can work on it!<br><br></blockquote><div><b= r></div><div>yes, in the new copy ive downloaded the _destroy() function is= completely different.</div><div><br></div><div>"full PHP" is not= needed btw, my extensions build outside, out of PHP source - along with it= ,</div><div>the build is simplified this way, a single build script is enou= gh, though you would need</div><div>either PHP source or a set of PHP heade= rs they call "SDK", of course, to run the thing</div><div>you wou= ld need a compatible binary version, heres the build description:</div><div= ><a href=3D"https://codeberg.org/determin1st/php-sm-test">https://codeberg.= org/determin1st/php-sm-test</a></div><div><br></div><div>i've put CURLM= OPT_QUICK_EXIT =3D 1 as a default option and will test it later,</div><div>= when the whole thing will work..</div><div><br></div><div><br></div><div><b= r></div><div><br></div><div>=C2=A0</div></div></div> --000000000000d310e50657bc2ad9-- --===============2887678973325574444== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- curl-and-php mailing list [email protected] https://lists.haxx.se/mailman/listinfo/curl-and-php --===============2887678973325574444==--