commit - 142012ed272189c29b42a3ec63ff2598b82ec88f
commit + aecd22250a8ec26da244683ed64b290af0e1c5f3
blob - 4ccb85602edfc0c368dc34ae06bdbbb56e4c04c8
blob + 5a2aab6936ab69339d4222d09c60d58f421d067c
--- lib/got_lib_pack_index.h
+++ lib/got_lib_pack_index.h
got_pack_index(struct got_pack *pack, int idxfd,
FILE *tmpfile, FILE *delta_base_file, FILE *delta_accum_file,
uint8_t *pack_sha1_expected,
- got_pack_index_progress_cb progress_cb, void *progress_arg);
+ got_pack_index_progress_cb progress_cb, void *progress_arg,
+ struct got_ratelimit *rl);
blob - 16dba396458c110a7862ab44e90a0b8da95e14c9
blob + d0b713ea9964a6d53335b7f910b6143346ea77e3
--- lib/pack_index.c
+++ lib/pack_index.c
const struct got_error *
got_pack_index(struct got_pack *pack, int idxfd, FILE *tmpfile,
FILE *delta_base_file, FILE *delta_accum_file, uint8_t *pack_sha1_expected,
- got_pack_index_progress_cb progress_cb, void *progress_arg)
+ got_pack_index_progress_cb progress_cb, void *progress_arg,
+ struct got_ratelimit *rl)
{
const struct got_error *err;
struct got_packfile_hdr hdr;
size_t mapoff = 0;
int p_indexed = 0, last_p_indexed = -1;
int p_resolved = 0, last_p_resolved = -1;
- struct got_ratelimit rl;
/* Require that pack file header and SHA1 trailer are present. */
if (pack->filesize < sizeof(hdr) + SHA1_DIGEST_LENGTH)
objects = calloc(nobj, sizeof(struct got_indexed_object));
if (objects == NULL)
return got_error_from_errno("calloc");
-
- got_ratelimit_init(&rl, 0, 500);
/*
* First pass: locate all objects and identify un-deltified objects.
p_indexed = ((i + 1) * 100) / nobj;
if (p_indexed != last_p_indexed) {
err = report_progress(nobj, i + 1, nloose, 0,
- &rl, progress_cb, progress_arg);
+ rl, progress_cb, progress_arg);
if (err)
goto done;
last_p_indexed = p_indexed;
p_resolved = ((nresolved + n) * 100) / nobj;
if (p_resolved != last_p_resolved) {
err = report_progress(nobj, nobj,
- nloose, nresolved + n, &rl,
+ nloose, nresolved + n, rl,
progress_cb, progress_arg);
if (err)
goto done;
blob - 4c37f22628cde5152889139edf95ebd106cd856b
blob + 79332977ce92e1d62e1c06929a238b1e4cf62516
--- libexec/got-index-pack/got-index-pack.c
+++ libexec/got-index-pack/got-index-pack.c
struct got_pack pack;
uint8_t pack_hash[SHA1_DIGEST_LENGTH];
off_t packfile_size;
+ struct got_ratelimit rl;
#if 0
static int attached;
while (!attached)
sleep(1);
#endif
+ got_ratelimit_init(&rl, 0, 500);
+
for (i = 0; i < nitems(tmpfiles); i++)
tmpfiles[i] = NULL;
if (pack.map == MAP_FAILED)
pack.map = NULL; /* fall back to read(2) */
#endif
- err = got_pack_index(&pack, idxfd, tmpfiles[0], tmpfiles[1], tmpfiles[2],
- pack_hash, send_index_pack_progress, &ibuf);
+ err = got_pack_index(&pack, idxfd, tmpfiles[0], tmpfiles[1],
+ tmpfiles[2], pack_hash, send_index_pack_progress, &ibuf, &rl);
done:
close_err = got_pack_close(&pack);
if (close_err && err == NULL)