diff options
| author | Wayne Davison <wayned@samba.org> | 2005-02-27 07:33:01 +0000 |
|---|---|---|
| committer | Wayne Davison <wayned@samba.org> | 2005-02-27 07:33:01 +0000 |
| commit | 40df65fdb47e025392e2cf5cc3059d627b61ccac (patch) | |
| tree | e89fc0f476a317324b9c2b635cc42ba289b133f2 /main.c | |
| parent | cb2e1f18c21bfe197e5f08e1553057ea440d320c (diff) | |
| download | android_external_rsync-40df65fdb47e025392e2cf5cc3059d627b61ccac.tar.gz android_external_rsync-40df65fdb47e025392e2cf5cc3059d627b61ccac.tar.bz2 android_external_rsync-40df65fdb47e025392e2cf5cc3059d627b61ccac.zip | |
- Seems to me that sigusr2_handler() should call close_all() for
the sake of MS Windows.
- Improved some comments.
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -560,9 +560,8 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name) send_msg(MSG_DONE, "", 0); io_flush(FULL_FLUSH); - /* Finally, we hang around until our parent kills us with a - * USR2 signal. If --delete-after was specified, we might get - * a keep-alive message over the socket, so handle that too. */ + /* Handle any keep-alive packets from the post-processing work + * that the generator does. */ if (protocol_version >= 29) { kluge_around_eof = -1; while (read_int(f_in) == flist->count) { @@ -571,6 +570,9 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name) } } + /* Finally, we hang around waiting for our parent to kills + * us with a USR2 signal. We sleep for a short time, as on + * some OSes a signal won't interrupt a sleep! */ while (1) msleep(20); } @@ -1044,6 +1046,7 @@ static RETSIGTYPE sigusr1_handler(UNUSED(int val)) static RETSIGTYPE sigusr2_handler(UNUSED(int val)) { + close_all(); if (log_got_error) _exit(RERR_PARTIAL); _exit(0); } |
