<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/win32, branch ethomson/codeql</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>win32: provide macros for calling conventions</title>
<updated>2020-12-08T14:50:06+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2020-12-08T14:33:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=42d5f11084c67f8c96693bd42b424b0262be3f84'/>
<id>42d5f11084c67f8c96693bd42b424b0262be3f84</id>
<content type='text'>
Provide more clarity for Win32 calling conventions - now that we always
compile to __cdecl on Win32, we'll define that as the the libgit2
calling convention.  Also offer NTAPI (__stdcall) calling conventions
for things that need callbacks from NTAPI code (eg fiber-local storage).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide more clarity for Win32 calling conventions - now that we always
compile to __cdecl on Win32, we'll define that as the the libgit2
calling convention.  Also offer NTAPI (__stdcall) calling conventions
for things that need callbacks from NTAPI code (eg fiber-local storage).
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: use GIT_ASSERT</title>
<updated>2020-11-27T11:09:21+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-11-22T09:43:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=c6ebdb296bc44b50fa76e492f57f086bf6c9ec08'/>
<id>c6ebdb296bc44b50fa76e492f57f086bf6c9ec08</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: rename MSVC_CRTDBG to WIN32_LEAKCHECK</title>
<updated>2020-11-21T21:54:13+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-07-12T17:43:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=8aed4629b13a5335c0d84792a61c303274f1e09c'/>
<id>8aed4629b13a5335c0d84792a61c303274f1e09c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: consolidate leak checking initialization</title>
<updated>2020-11-21T21:53:29+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-07-12T17:07:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=31654a34c9e6a457ef581892ba8775e3f5235f62'/>
<id>31654a34c9e6a457ef581892ba8775e3f5235f62</id>
<content type='text'>
Move leak check initialization into git_win32_leakcheck_global_init, and
call it on library initialization.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move leak check initialization into git_win32_leakcheck_global_init, and
call it on library initialization.
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: "crtdbg" is now "leakcheck"</title>
<updated>2020-11-21T21:53:29+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-07-12T16:49:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=cb4b3bdf923c9ebc66f500d7cc484e6f453ebf0a'/>
<id>cb4b3bdf923c9ebc66f500d7cc484e6f453ebf0a</id>
<content type='text'>
msvc crtdbg is a mouthfull that is not particularly indicative of what
it does.  Let's rename it to "win32 leakcheck".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
msvc crtdbg is a mouthfull that is not particularly indicative of what
it does.  Let's rename it to "win32 leakcheck".
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #5546 from libgit2/ethomson/init</title>
<updated>2020-10-14T12:44:59+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-10-14T12:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=20450cbe7d161abbb3eb52d96867aeaa6dd99e12'/>
<id>20450cbe7d161abbb3eb52d96867aeaa6dd99e12</id>
<content type='text'>
Refactor "global" state</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactor "global" state</pre>
</div>
</content>
</entry>
<entry>
<title>Make the Windows leak detection more robust</title>
<updated>2020-10-12T01:31:05+00:00</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-10-12T00:53:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4a0dceebe4038b2b14460956105100d159c2e628'/>
<id>4a0dceebe4038b2b14460956105100d159c2e628</id>
<content type='text'>
This change:

* Increases MY_ROW_LIMIT to 2M, since it has been failing in #5595's
  tests since it's _super_ close to the limit.
* Calls `git_repository_free()` on a `git_repository` that was being
  leaked only in Windows.
* Marks the global `git_repository` on `tests/repo/init.c` as `NULL`
  after being freed to make any accidental access more noisy.
* Uses `cl_assert_equal_i()` in `test_trace_windows_stacktrace__leaks`
  to make the test failures more actionable.
* Renames the globals in `tests/repo/init.c` so that they don't start
  with an underscore.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change:

* Increases MY_ROW_LIMIT to 2M, since it has been failing in #5595's
  tests since it's _super_ close to the limit.
* Calls `git_repository_free()` on a `git_repository` that was being
  leaked only in Windows.
* Marks the global `git_repository` on `tests/repo/init.c` as `NULL`
  after being freed to make any accidental access more noisy.
* Uses `cl_assert_equal_i()` in `test_trace_windows_stacktrace__leaks`
  to make the test failures more actionable.
* Renames the globals in `tests/repo/init.c` so that they don't start
  with an underscore.
</pre>
</div>
</content>
</entry>
<entry>
<title>runtime: move init/shutdown into the "runtime"</title>
<updated>2020-10-11T19:13:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-05-15T10:47:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e316b0d3d64eb8f65f4109c1565d929b29e1d33a'/>
<id>e316b0d3d64eb8f65f4109c1565d929b29e1d33a</id>
<content type='text'>
Provide a mechanism for system components to register for initialization
and shutdown of the libgit2 runtime.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide a mechanism for system components to register for initialization
and shutdown of the libgit2 runtime.
</pre>
</div>
</content>
</entry>
<entry>
<title>thread: don't use the global tlsdata for thread exit</title>
<updated>2020-10-11T19:07:12+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-05-15T09:29:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=8970acb750ecf4b86883d9ea1a8cb280517e6c86'/>
<id>8970acb750ecf4b86883d9ea1a8cb280517e6c86</id>
<content type='text'>
We want to store a pointer to emulate `pthread_exit` on Windows.  Do
this within the threading infrastructure so that it could potentially be
re-used outside of the context of libgit2 itself.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We want to store a pointer to emulate `pthread_exit` on Windows.  Do
this within the threading infrastructure so that it could potentially be
re-used outside of the context of libgit2 itself.
</pre>
</div>
</content>
</entry>
<entry>
<title>global: separate global state from thread-local state</title>
<updated>2020-10-11T19:06:15+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2020-05-14T09:36:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4853d94ca47a6f1ecaa7c24b9034ededcb7e5bff'/>
<id>4853d94ca47a6f1ecaa7c24b9034ededcb7e5bff</id>
<content type='text'>
Our "global initialization" has accumulated some debris over the years.
It was previously responsible for both running the various global
initializers (that set up various subsystems) _and_ setting up the
"global state", which is actually the thread-local state for things
like error reporting.

Separate the thread local state out into "threadstate".  Use the normal
subsystem initialization functions that we already have to set it up.
This makes both the global initialization system and the threadstate
system simpler to reason about.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our "global initialization" has accumulated some debris over the years.
It was previously responsible for both running the various global
initializers (that set up various subsystems) _and_ setting up the
"global state", which is actually the thread-local state for things
like error reporting.

Separate the thread local state out into "threadstate".  Use the normal
subsystem initialization functions that we already have to set it up.
This makes both the global initialization system and the threadstate
system simpler to reason about.
</pre>
</div>
</content>
</entry>
</feed>
