[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [dev-serveez] first commit! HACKING
From: |
Thien-Thi Nguyen |
Subject: |
Re: [dev-serveez] first commit! HACKING |
Date: |
Wed, 02 Feb 2011 10:49:18 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
() Raimund Jacob <address@hidden>
() Wed, 2 Feb 2011 09:38:39 +0100
> - config.h.serveez
> - src/svzconfig.h.serveez
Ok, chop 'em :) Seems some of them did not belong there anyway.
On second thought, these two are part of the "native win32" support. I've
left them in, for now, though i'd prefer to remove that support entirely.
The coservers are forked off to run blocking System calls. There are 3 of
them, IIRC. The most important one resolves Client ip addresses to
hostnames. Umh... And perhaps one for gethostbyname() for new outgoing
connections (i forgot).
This is a very Common Task for servers. It should not require another OS
process. If there was a non-blocking function, we would have used it.
IIUC, in order to be able to remove the coserver, we would need to find (and
use) non-blocking variants for all those (relevant) system calls. If even one
such syscall does not have a non-blocking variant, the coserver must remain.
The coserver meant a lot of new code, increased complexity (wich is never
good) and new points of possible runtime failures. Long runnig Server tasks
tend to trigger every possible and impossible error condition :)
Yeah, complexity is to be avoided.
Ps.: README still refers to anonymous CVS checkouts :)
Thanks, i'll clean that up soon.