[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [dev-serveez] first commit! HACKING
From: |
Raimund Jacob |
Subject: |
Re: [dev-serveez] first commit! HACKING |
Date: |
Wed, 2 Feb 2011 09:38:39 +0100 |
Hi!
Am 02.02.2011 um 00:54 schrieb Thien-Thi Nguyen <address@hidden>:
> () Raimund 'Raimi' Jacob <address@hidden>
> () Mon, 31 Jan 2011 21:45:43 +0100
>
> I have a question: You intend to remove autogenerated files from git
> repo. We had them in CVS so that people wouldn't need all those
> autotools-stuff installed just to build a nightly CVS tarball. I
> don't know if you are referring to other autogenerated files.
>
> Here is the list of files on the chopping block:
> - INSTALL
> - config.h.serveez
> - src/svzconfig.h.serveez
> - doc/mdate-sh
> They are all autotools stuff, i believe. I don't think there is much
> demand for "buildable out of repo" these days. Besides, the current
> repo does not include the configure script and so people would need at
> least autoconf anyway. Might as well give the savannah hard disks a
> small break.
Ok, chop 'em :) Seems some of them did not belong there anyway.
>
>
> And finally: Eliminating the resolving coserver would be sooo
> good. Back in the day there was "libadns" or something as the only
> option for non-blocking name resolution. Don't know about nowadays.
>
> Could you explain why it would be good to eliminate that, or point to
> some discussion about its (mis-)design? I have much to learn in this
> area.
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.
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 :)
Anyway, happy hacking :)
Raimund
Ps.: README still refers to anonymous CVS checkouts :)