Re: first commit! HACKING

Thien-Thi Nguyen <[email protected]> Wed, 02 Feb 2011 10:49:18 +0100
Newsgroups gmane.network.serveez.devel
Message-ID <[email protected]>
() Raimund Jacob <[email protected]>
() 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.