behavior of fork() in 1.3 vs. 1.4.2

M

Marc Rochkind

I'm executing a raw UNIX fork system call in JNI code. In 1.3.x, that and
what came next worked perfectly, near as I can tell.

But, upon switching to 1.4.2, I notice that an exception thrown in the
child hangs the process... this worked fine in 1.3.x.

I can think of various explanations. (Example: a fork() preserves only a
single thread, and other threads that might have been in the parent are, in
the child, terminated. Perhaps the exception stuff was multi-threaded.)

But, does anyone know of something done specifically that broke this in
1.4.x?

--Marc
 
M

Marc Rochkind

I'm executing a raw UNIX fork system call in JNI code. In 1.3.x, that and
what came next worked perfectly, near as I can tell.

But, upon switching to 1.4.2, I notice that an exception thrown in the
child hangs the process... this worked fine in 1.3.x.

I can think of various explanations. (Example: a fork() preserves only a
single thread, and other threads that might have been in the parent are,
in the child, terminated. Perhaps the exception stuff was multi-
threaded.)

But, does anyone know of something done specifically that broke this in
1.4.x?

--Marc

Seems that running interpreter-only (-Xint) fixed the problem, which I can
certainly believe. That is fine (no need for speed), but perhaps someone
could confirm why this is so?

--Marc
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top