1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00

FAQ: Added 5.18 Does libcurl use threads?

This commit is contained in:
Daniel Stenberg 2014-05-08 09:30:35 +02:00
parent ba06278e97
commit 1495f42138

View File

@ -99,6 +99,7 @@ FAQ
5.15 How do I get an FTP directory listing? 5.15 How do I get an FTP directory listing?
5.16 I want a different time-out! 5.16 I want a different time-out!
5.17 Can I write a server with libcurl? 5.17 Can I write a server with libcurl?
5.18 Does libcurl use threads?
6. License Issues 6. License Issues
6.1 I have a GPL program, can I use the libcurl library? 6.1 I have a GPL program, can I use the libcurl library?
@ -1365,6 +1366,19 @@ FAQ
server for. And there are really good stand-alone ones that have been tested server for. And there are really good stand-alone ones that have been tested
and proven for many years. There's no need for you to reinvent them! and proven for many years. There's no need for you to reinvent them!
5.18 Does libcurl use threads?
Put simply: no, libcurl will execute in the same thread you call it in. All
callbacks will be called in the same thread as the one you call libcurl in.
If you want to avoid your thread to be blocked by the libcurl call, you make
sure you use the non-blocking API which will do transfers asynchronously -
but still in the same single thread.
libcurl will potentially internally use threads for name resolving, if it
was built to work like that, but in those cases it'll create the child
threads by itself and they will only be used and then killed internally by
libcurl and never exposed to the outside.
6. License Issues 6. License Issues