2001-04-23 05:59:52

by Xiong Zhao

[permalink] [raw]
Subject: how does linux support domino?

hello.on linux we will see a new domino server process/thread is created for each
client.how does linux do this?does it use pthread?using fork or clone or someway
else?what's the common way of linux to support apps like lotus domino that will
have lots of concurrent users which are served by seperate server process/thread?
regards

james


2001-04-23 12:26:02

by Erik Mouw

[permalink] [raw]
Subject: Re: how does linux support domino?

On Mon, Apr 23, 2001 at 01:59:52PM +0800, Xiong Zhao wrote:
> hello.on linux we will see a new domino server process/thread is
> created for each client.how does linux do this?does it use
> pthread?using fork or clone or someway else?

pthreads are modeled on top of the clone() system call.

> what's the common way of
> linux to support apps like lotus domino that will have lots of
> concurrent users which are served by seperate server process/thread?

Just go ahead and support it, I guess.


Erik

--
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands
Phone: +31-15-2783635 Fax: +31-15-2781843 Email: [email protected]
WWW: http://www-ict.its.tudelft.nl/~erik/

2001-04-24 22:15:55

by Jorge Nerin

[permalink] [raw]
Subject: Re: how does linux support domino?

Xiong Zhao wrote:

> hello.on linux we will see a new domino server process/thread is created for each
> client.how does linux do this?does it use pthread?using fork or clone or someway
> else?what's the common way of linux to support apps like lotus domino that will
> have lots of concurrent users which are served by seperate server process/thread?
> regards
>
> james

Well, in Linux there is no separate concept of threads, so each thread
is a separate process with it's own PID and the PPID of the main thread.
In fact pthread_create() sits just on top of clone().

The way each program handles multiple conections is up to the program,
for example apache 1.3 and below does a fork(), mozilla does a
pthread_create(), BOA does a select() in only one process, and apache
2.0 and up does both a fork() and pthread_create().

--
Jorge Nerin
<[email protected]>