This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Figured out how to reproduce vfork/rsync bug!


Ironically enough, the only significant thing checked in on July 17,
and thus the thing which caused this bug to start happening, is this:

  * child_info.h: Bump magic number.
  (class child_info): Add an element.
  * cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area.
  (cygheap_fixup_in_child): Map cygwin heap, passed from parent via shared memory
  into correct address.
  (cygheap_setup_for_child): New function.
  * cygheap.h: Declare new functions.
  * dcrt0.cc (dll_crt0_1): Accomodate new cygheap_fixup_in_child arguments.
  Avoid protecting subproc_ready unless it is spawn/nowait.
  * fork.cc (fork_parent): Use new cygheap_setup_for_child function to setup
  cygwin heap info.  Close passed cygheap shared memory handle.
  * spawn.cc (spawn_guts): Ditto.  Also, reorganize to avoid synchronization
  between parent and child in non-P_OVERLAY case.
  * sigproc.cc (wait_sig): Only signal subproc_ready when execing.

Look familiar?

I think I'll try the patch that cgf just sent out and see if it makes
this problem go away.

It will be very amusing if we discover that the bug I'm encountering
is the same as Egor's.

  jik


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]