<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/thread-utils.h, branch v0.3.0</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>Revert "Properly export all external symbols in Win32"</title>
<updated>2010-12-22T22:44:41+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2010-12-22T22:44:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e035685f272579a8620741aaad521540712c0725'/>
<id>e035685f272579a8620741aaad521540712c0725</id>
<content type='text'>
It is not a good idea to export these internal symbols now that they are
not required to run the unit tests.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is not a good idea to export these internal symbols now that they are
not required to run the unit tests.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Properly export all external symbols in Win32</title>
<updated>2010-12-22T20:43:39+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2010-12-22T20:43:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2a18a792e3674b24f2d6312c039571c64f75dacd'/>
<id>2a18a792e3674b24f2d6312c039571c64f75dacd</id>
<content type='text'>
Some external functions were not being exported because they were using
the 'extern' keyword instead of the generic GIT_EXTERN() macro.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some external functions were not being exported because they were using
the 'extern' keyword instead of the generic GIT_EXTERN() macro.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>thread-utils.h: Avoid using a non-standard C construct</title>
<updated>2009-06-05T10:13:48+00:00</updated>
<author>
<name>Ramsay Jones</name>
<email>ramsay@ramsay1.demon.co.uk</email>
</author>
<published>2009-06-04T16:12:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3e0fb8fb56426d4645a50ce85fead9ad93ce59ba'/>
<id>3e0fb8fb56426d4645a50ce85fead9ad93ce59ba</id>
<content type='text'>
In particular, in standard C, a struct or union must have at
least one member declared (ie. structs and unions cannot be
empty). Some compilers allow empty structs as an extension
and won't even issue a warning unless asked for it (eg, gcc
requires -pedantic). Some compilers allow empty structs as
an extension and will only treat it as an error if asked for
strict checking (eg Digital-Mars with -A). Some compilers
simply treat it as an error (eg MS Visual C/C++).

Signed-off-by: Ramsay Jones &lt;ramsay@ramsay1.demon.co.uk&gt;
Signed-off-by: Andreas Ericsson &lt;ae@op5.se&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In particular, in standard C, a struct or union must have at
least one member declared (ie. structs and unions cannot be
empty). Some compilers allow empty structs as an extension
and won't even issue a warning unless asked for it (eg, gcc
requires -pedantic). Some compilers allow empty structs as
an extension and will only treat it as an error if asked for
strict checking (eg Digital-Mars with -A). Some compilers
simply treat it as an error (eg MS Visual C/C++).

Signed-off-by: Ramsay Jones &lt;ramsay@ramsay1.demon.co.uk&gt;
Signed-off-by: Andreas Ericsson &lt;ae@op5.se&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the use of asm/atomic.h to require -DGIT_HAS_ASM_ATOMIC</title>
<updated>2009-01-03T05:48:40+00:00</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2009-01-03T05:48:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=51eb2f90a1469542799823e0f3249520bf8f9cf3'/>
<id>51eb2f90a1469542799823e0f3249520bf8f9cf3</id>
<content type='text'>
These headers aren't always available; they typically come from the
Linux kernel, but aren't supposed to be exported into the userspace
/usr/include.  Modern kernels won't install these and some distros
rm -rf the directory post kernel header install.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These headers aren't always available; they typically come from the
Linux kernel, but aren't supposed to be exported into the userspace
/usr/include.  Modern kernels won't install these and some distros
rm -rf the directory post kernel header install.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pthread_mutex based gitrc_dec</title>
<updated>2009-01-03T05:41:52+00:00</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2009-01-03T05:41:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=11bb049bdddf1d203dfe8fd6031c4dba328a7525'/>
<id>11bb049bdddf1d203dfe8fd6031c4dba328a7525</id>
<content type='text'>
The function should return true only when the counter drops to 0.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function should return true only when the counter drops to 0.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a mutex and atomic counter abstraction and implementations</title>
<updated>2008-12-31T21:36:55+00:00</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-12-31T21:20:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=028ef0de72da1ad4d1b2ee4a125ede81e3f2ebed'/>
<id>028ef0de72da1ad4d1b2ee4a125ede81e3f2ebed</id>
<content type='text'>
These abstractions can be used to implement an efficient resource
reference counter and simple mutual exclusion.  On pthreads we use
pthread_mutex_t, except when we are also on glibc and can directly
use its asm/atomic.h definitions.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These abstractions can be used to implement an efficient resource
reference counter and simple mutual exclusion.  On pthreads we use
pthread_mutex_t, except when we are also on glibc and can directly
use its asm/atomic.h definitions.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add compiler/platform agnostic thread-local storage</title>
<updated>2008-11-18T18:32:53+00:00</updated>
<author>
<name>Andreas Ericsson</name>
<email>ae@op5.se</email>
</author>
<published>2008-11-18T18:06:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=36f0f61fc8578478a9dc9b33a1a0d07cdb98a5e5'/>
<id>36f0f61fc8578478a9dc9b33a1a0d07cdb98a5e5</id>
<content type='text'>
It doesn't cover all cases, but we can work on those as
we go along. For now, gcc, MSVC++, Intel C/C++, IBM XL C/C++,
Sun Studio C/C++ and Borland C++ Builder are the supported
compilers (although we boldly assume that they all are of
a recent enough version to support thread-local storage).

This is intended to be used in upcoming patches that implement
graceful (but TLS-dependant) error-handling in the library.

As an added bonus, we also bring the online_cpus() function
from git.git to detect the number of usable cpu's.

Signed-off-by: Andreas Ericsson &lt;ae@op5.se&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It doesn't cover all cases, but we can work on those as
we go along. For now, gcc, MSVC++, Intel C/C++, IBM XL C/C++,
Sun Studio C/C++ and Borland C++ Builder are the supported
compilers (although we boldly assume that they all are of
a recent enough version to support thread-local storage).

This is intended to be used in upcoming patches that implement
graceful (but TLS-dependant) error-handling in the library.

As an added bonus, we also bring the online_cpus() function
from git.git to detect the number of usable cpu's.

Signed-off-by: Andreas Ericsson &lt;ae@op5.se&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
