Earlier quoted context omitted.
Isn't the solution exactly what is described here: http://curl.haxx.se/libcurl/c/curl_easy_init.html "If you did not already call curl_global_init(3), curl_easy_init(3) does it automatically. This may be lethal in multi-threaded cases, since curl_global_init(3) is not thread-safe, and it may result in resource problems because there is no corresponding cleanup." I can imagine that only curl_global_init reads from ura…
We're using libcurl via PHP (I know, I know) which doesn't expose curl_global_init at all. Here's the stacktrace for the /dev/urandom read -- it's happening in curl_easy_init. Catchpoint 1 (call to syscall 'ioctl'), 0x0000003a74ecc4ba in tcgetattr () from /lib64/libc.so.6 (gdb) backtrace #0 0x0000003a74ecc4ba in tcgetattr () from /lib64/libc.so.6 #1 0x0000003a74ec7a1c in isatty () from /lib64/libc.so.6 #2 0x0000003a7…
And why curl at all? PHP has built in HTTPRequest?