2007-03-01 Christopher Faylor <me@cgf.cx>
+ * fork.cc (fork): Reset child to true after fork since it may have been
+ reset by fork memory copies.
+
+2007-03-01 Christopher Faylor <me@cgf.cx>
+
* Makefile (DLL_OFILES): Remove ntea.o
* environ.cc (set_ntea): Delete.
(parse_thing): Delete "ntea" setting.
class hold_everything
{
+public: /* DELETEME*/
bool& ischild;
/* Note the order of the locks below. It is important,
to avoid races, that the lock order be preserved.
volatile char * volatile esp;
__asm__ volatile ("movl %%esp,%0": "=r" (esp));
-
if (!ischild)
res = grouped.parent (esp);
else
- res = grouped.child (esp);
+ {
+ res = grouped.child (esp);
+ ischild = true; /* might have been reset by fork mem copy */
+ }
}
MALLOC_CHECK;