Subject: Re: fork() and mit-pthreads problem
To: Matthew Mondor <mmondor@linuxguru.net>
From: None <itojun@iijlab.net>
List: port-i386
Date: 11/27/2000 09:38:37
>2) Without using fork() or daemon() to detach it, using
>   & instead at command invocation, it works better,
>   however concurrent pthreads() execute sequencially
>   rather than simultaniously when several connections
>   are served, despite proper pthread_attr initialization.

	(aside from fork/daemon issue)

	there's no kernel thread support in NetBSD yet.
	mit-pthreads provides userland threading support, which is (sort of)
	userland emulation of pthreads using signal, setjmp/longjmp and some
	other tricks.
	i took "sequentially rather than simultaneously" to mean that the
	frequency of context switch is longer than you've expected.
	it is expected behavior, i believe.
	(NOTE: unless you have multiple CPUs, your threads will be executed one
	at a given moment, on any operating systems.  you are seeing imaginary
	simultaneous execution because of context switches).

	if my guess is wrong, could you tell me what you've expected from
	threaded execution ("simultaneously")?

itojun