Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
4079d6a6
Commit
4079d6a6
authored
Jan 17, 2009
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed a hang in the inc_recurse batch-reading code.
parent
df694f72
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
7 deletions
+11
-7
generator.c
generator.c
+2
-6
receiver.c
receiver.c
+9
-1
No files found.
generator.c
View file @
4079d6a6
...
...
@@ -1937,10 +1937,9 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
if
(
first_flist
->
in_progress
||
first_flist
->
to_redo
)
break
;
if
(
!
read_batch
)
{
write_ndx
(
sock_f_out
,
NDX_DONE
);
write_ndx
(
sock_f_out
,
NDX_DONE
);
if
(
!
read_batch
)
maybe_flush_socket
(
1
);
}
if
(
delete_during
==
2
||
!
dir_tweaking
)
{
/* Skip directory touch-up. */
...
...
@@ -2086,9 +2085,6 @@ void generate_files(int f_out, const char *local_name)
}
}
while
((
cur_flist
=
cur_flist
->
next
)
!=
NULL
);
if
(
read_batch
&&
inc_recurse
)
write_ndx
(
f_out
,
NDX_DONE
);
if
(
delete_during
)
delete_in_dir
(
NULL
,
NULL
,
&
dev_zero
);
phase
++
;
...
...
receiver.c
View file @
4079d6a6
...
...
@@ -387,15 +387,23 @@ static int we_want_redo(int desired_ndx)
static
int
gen_wants_ndx
(
int
desired_ndx
)
{
static
int
next_ndx
=
-
1
;
static
BOOL
got_eof
=
0
;
static
int
done_cnt
=
0
;
static
BOOL
got_eof
=
False
;
int
flist_num
=
first_flist
->
flist_num
;
if
(
got_eof
)
return
0
;
while
(
next_ndx
<
desired_ndx
)
{
if
(
inc_recurse
&&
flist_num
<=
done_cnt
)
return
0
;
if
(
next_ndx
>=
0
)
no_batched_update
(
next_ndx
,
False
);
if
((
next_ndx
=
read_int
(
batch_gen_fd
))
<
0
)
{
if
(
inc_recurse
)
{
done_cnt
++
;
continue
;
}
got_eof
=
True
;
return
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment