delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/12/01/06:32:48

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Sat, 1 Dec 2001 12:12:57 +0100
From: "Gerrit P. Haase" <gp AT familiehaase DOT de>
X-Mailer: The Bat! (v1.53t) Business
Reply-To: "Gerrit P. Haase" <cygwin AT cygwin DOT com>
Organization: Esse keine toten Tiere
X-Priority: 3 (Normal)
Message-ID: <53570659865.20011201121257@familiehaase.de>
To: "Pierre A. Humblet" <Pierre DOT Humblet AT ieee DOT org>
CC: cygwin AT cygwin DOT com
Subject: Re: More exim, and fcntl lock problems
In-Reply-To: <3C07F55F.5B2E669D@ieee.org>
References: <3C07F55F DOT 5B2E669D AT ieee DOT org>
MIME-Version: 1.0
X-Sender: 320081107336-0001 AT t-dialin DOT net

Hallo Pierre,

Am 2001-11-30 um 22:08 schriebst du:

> Coincidentally with Gerrit Haase in
> http://sources.redhat.com/ml/cygwin/2001-11/msg01465.html
> last weekend I also got to compile exim (a mail
> transfer agent) and qpopper (a pop server).

Great!

> Both compile fine with relatively minor changes. For 
> exim I wrote a routine to discover the local interfaces
> and (instead of relying on bind) a simple synchronous stub
> resolver (that could perhaps later interface directly to
> the native caching resolver in Windows 2000 etc...).
> Contrary to Gerrit I didn't need to provide flock().
> Exim works somewhat, e.g. it can send mail.

I took the flock emulation from the ruby sources (locking is
in fact based on fcntl().  The stub resolver is interesting,
we need s.th. like this to include it in cygwin.
I have problems with accessing /etc/services to lookup the port
for the smtp-service, in fact Exim isn't able to read it, so I
need tto set 'port=25' in the config file AND need to start the
daemon with '-oX 25'.

> That's where the bad news start, I tried Win98 and NT.
> 1) Under Win98 I hit issues that were traced to gdbm 
> emulation of ndbm on FAT
> http://cygwin.com/ml/cygwin/2001-11/msg01793.html
> That looks hopeless to me. Please tell me I am wrong!

gdbm on FAT filesystems seems to be not usable without tweaking.
I used db to compile, this works well.  I would really like to have
a 'complete' port of Berkeley DB in the dist (though I don't know how
it works together with Win98).

> 2) On WinNT, local deliveries fail on line 765 of transport.c
>   while ((len = read(deliver_datafile, deliver_in_buffer,
> I reproduced the situation in the attached try.c  
> A parent process opens and locks a file (using fcntl), 
> and then forks a child. It turns out that the child cannot 
> read the file. Is it a Cygwin bug (latest everything)?

How does fork work?  Isn't it the child which gets a new PID and
a file that is locked by PID 1 then PID 2 cannot access it?
I really don't know much about locking and forking so excuse me
if I get s.th. wrong here.

It is no permission problem?

> I also hit a couple of minor issues, e.g. pathnames starting 
> with multiple / (fixed in os.c), and the fact that Windows 
> pathnames can contain $ (unfortunately my home directory is 
> //admin4/phumblet$). Exim tries to expand them, as sh would 
> (no fix yet).   

Bug found by accident;)

> I will gladly send my versions of os.c and os.h to willing
> experimenters.

I posted my patch, I would like to see your patch too:-)

Ciao,

Gerrit P. Haase                            mailto:gp AT familiehaase DOT de
-- 
=^..^=
This mail was delivered with Exim hosted on Cygwin;)


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019