diff options
| author | Russell Belfer <rb@github.com> | 2013-12-11 15:02:20 -0800 |
|---|---|---|
| committer | Russell Belfer <rb@github.com> | 2013-12-11 15:02:20 -0800 |
| commit | 7697e54176ccab22ed6d4597d7256e9a1e6ff202 (patch) | |
| tree | 69c1bdd91bcf767b28bd6bc5ea9612084c1a765c /src/amiga | |
| parent | 8b22d862fb4419b219210027f18c1e97dd36fa8b (diff) | |
| download | libgit2-7697e54176ccab22ed6d4597d7256e9a1e6ff202.tar.gz | |
Test cancel from indexer progress callback
This adds tests that try canceling an indexer operation from
within the progress callback.
After writing the tests, I wanted to run this under valgrind and
had a number of errors in that situation because mmap wasn't
working. I added a CMake option to force emulation of mmap and
consolidated the Amiga-specific code into that new place (so we
don't actually need separate Amiga code now, just have to turn on
-DNO_MMAP).
Additionally, I made the indexer code propagate error codes more
reliably than it used to.
Diffstat (limited to 'src/amiga')
| -rw-r--r-- | src/amiga/map.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/src/amiga/map.c b/src/amiga/map.c deleted file mode 100644 index 0ba7995c6..000000000 --- a/src/amiga/map.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) the libgit2 contributors. All rights reserved. - * - * This file is part of libgit2, distributed under the GNU GPL v2 with - * a Linking Exception. For full terms see the included COPYING file. - */ -#include <git2/common.h> - -#ifndef GIT_WIN32 - -#include "posix.h" -#include "map.h" -#include <errno.h> - -int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset) -{ - GIT_MMAP_VALIDATE(out, len, prot, flags); - - out->data = NULL; - out->len = 0; - - if ((prot & GIT_PROT_WRITE) && ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)) { - giterr_set(GITERR_OS, "Trying to map shared-writeable"); - return -1; - } - - out->data = malloc(len); - GITERR_CHECK_ALLOC(out->data); - - if ((p_lseek(fd, offset, SEEK_SET) < 0) || ((size_t)p_read(fd, out->data, len) != len)) { - giterr_set(GITERR_OS, "mmap emulation failed"); - return -1; - } - - out->len = len; - return 0; -} - -int p_munmap(git_map *map) -{ - assert(map != NULL); - free(map->data); - - return 0; -} - -#endif - |
