Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Dec 1998 12:35:30 -0500 (EST)
From:      HighWind Software Information <info@highwind.com>
To:        current@FreeBSD.ORG
Subject:   Re: Thread fd locking and fork()
Message-ID:  <199812031735.MAA01016@highwind.com>
In-Reply-To: <199812031522.KAA28193@highwind.com> (message from HighWind Software Information on Thu, 3 Dec 1998 10:22:31 -0500 (EST))

next in thread | previous in thread | raw e-mail | index | archive | help

>Is there any solution to this? Perhaps the fork() code should unlock
>all the descriptors.

In looking at my own suggestion... fork() in libc_r currently removes
all but the running thread from the thread list.

Here's my problem, don't all the fd's have a queue of pointers back to
those thread structures in their r_queue and w_queue members?

Don't those need to be all cleaned up ANYWAY?? Despite my reporting of
this bug.

I think, fork() needs to:

	Continue to remove all threads but the running thread from the
thread list, then go over the fd's and unlock and cleanup all queues.

-Rob

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812031735.MAA01016>