Skip to content
Snippets Groups Projects
Commit 9da13f32 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Apply patch to better behave under Solaris threads (thr).

Could still deadlock on the close().  A surrogate parent
should be used to create the children...
parent 7fe153ac
No related branches found
No related tags found
No related merge requests found
......@@ -32,8 +32,20 @@ forkandexec(
* parent *rfp <- c2p[0] | c2p[1] <- stdout child
*/
switch ( (pid = fork()) ) {
#ifdef HAVE_THR
switch ( (pid = fork1()) )
#else
switch ( (pid = fork()) )
#endif
{
case 0: /* child */
/*
* child could deadlock here due to resources locked
* by our parent
*
* If so, configure --without-threads or implement forking
* via a surrogate parent.
*/
close( p2c[1] );
close( c2p[0] );
if ( dup2( p2c[0], 0 ) == -1 || dup2( c2p[1], 1 ) == -1 ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment