1
1
.\" You can view this file with:
2
2
.\" nroff -man [file]
3
.\" $Id: curl_global_init.3,v 1.3 2004/05/11 11:30:23 bagder Exp $
3
.\" $Id: curl_global_init.3,v 1.5 2006/01/15 23:55:53 bagder Exp $
5
5
.TH curl_global_init 3 "11 May 2004" "libcurl 7.12" "libcurl Manual"
11
11
.BI "CURLcode curl_global_init(long " flags ");"
14
This function should only be called once (no matter how many threads or
15
libcurl sessions that'll be used) by every application that uses libcurl.
17
If this function hasn't been invoked when \fIcurl_easy_init(3)\fP is called,
18
it will be done automatically by libcurl.
20
The flags option is a bit pattern that tells libcurl exact what features to
14
This function sets up the program environment that libcurl needs. Think
15
of it as an extension of the library loader.
17
This function must be called at least once within a program (a program is
18
all the code that shares a memory space) before the program calls any other
19
function in libcurl. The environment it sets up is constant for the life
20
of the program and is the same for every program, so multiple calls have
21
the same effect as one call.
23
The flags option is a bit pattern that tells libcurl exactly what features to
21
24
init, as described below. Set the desired bits by ORing the values together.
23
You must however \fBalways\fP use the \fIcurl_global_cleanup(3)\fP function,
24
as that cannot be called automatically for you by libcurl.
26
Calling this function more than once will cause unpredictable results.
25
In normal operation, you must specify CURL_GLOBAL_ALL. Don't use any other
26
value unless you are familiar with and mean to control internal operations
29
\fBThis function is not thread safe.\fP You must not call it when any
30
other thread in the program (i.e. a thread sharing the same memory) is
31
running. This doesn't just mean no other thread that is using
32
libcurl. Because \fIcurl_global_init()\fP calls functions of other
33
libraries that are similarly thread unsafe, it could conflict with any
34
other thread that uses these other libraries.
36
See the description in \fBlibcurl\fP(3) of global environment
37
requirements for details of how to use this function.