delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/09/28/17:54:47

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
From: "Gerrit P. Haase" <gp AT familiehaase DOT de>
Organization: Esse keine toten Tiere
To: Stipe Tolj <tolj AT wapme-systems DOT de>
Date: Fri, 28 Sep 2001 23:53:40 +0200
MIME-Version: 1.0
Subject: Re: qmail-1.03: any volunteers?!
Reply-to: cygwin AT cygwin DOT com
CC: cygwin AT cygwin DOT com
Message-ID: <3BB50D84.20049.858F0A@localhost>
In-reply-to: <3BB488F9.7B346FA6@wapme-systems.de>
X-mailer: Pegasus Mail for Win32 (v3.12cDE)
X-Hops: 1
X-Sender: 320081107336-0001 AT t-dialin DOT net

Stipe Tolj schrieb am 2001-09-28, 16:28:

>>  #ifdef HASMKFIFO
>>  int fifo_make(fn,mode) char *fn; int mode; { return mkfifo(fn,mode); }
>> +#elif __CYGWIN__
>> +int fifo_make(fn,mode) char *fn; int mode; { return mode; }
>>  #else
>>  int fifo_make(fn,mode) char *fn; int mode; { return mknod(fn,S_IFIFO | mode,0); }
>>  #endif
>> 
>> You've changed it that way, is that sufficient?
>
>I consider not -- now as you ask. But I suppose it was one of the
>"first shot" aspects to get everything to compile and build and see
>what limitations are still threre.
>
>Have you cecked for what the return value of int fifo_make() is used
>and it the change would have any impact?
>
>Stipe

There is a fifo generated (normally).  Later this is a/the trigger, DJB 
uses these triggers for the different programs to communicate. If there 
is a positive return value, but no fifo which can be triggered, then there 
is an error ('No such file' or s.th. like this). If there is no return value,
then the error is earlier. ('Cannot generate fifo' or s.th. like this).

I tried once to build nullmailer, which is an improved version of bernsteins
version, only to shoot some mail off a workstation to the real server, acts
like a little smtpserver, only for sending, needs a big brother MTA at 
another machine. 
Well it worked, the problem was, there was no trigger, no fifo. If you send
an email to the smtpd, it writes this down in a directory and triggers the 
fifo. If the fifo is read by the transport program (inject?) and if there is 
a notice, it will look in the dir and send off what is there.
To get it up and running, I generated a file in the trigger dir so 's.th.'
was found, the program thinks there is a fifo (looks like a file), and don't
report errors, but it works not like a trigger.  The inject tool is eating
up the cpu because it always thinks the fifo is triggered.
The mail is sent off, of course. I built the injector with a sleep of some 
seconds so it doesn't burn my pentium, but this is not the solution.
Then it does nothing else as ssmtp with the exception you can connect it
with every mail client you want.  I used it as smtpd which writes mails in
some dir, now I could take cron and ssmtp to send them off, which is not the
ugliest solution, but also not so smart as to have a daemon running which sents 
off the mail direct instead of calling ssmtp.

Best thing that makes sense here is to find a way to substitute mkfifo, 
or the functionality it provides, Corinna said s.th. with socket calls 
would be possible.

I thought a file would be sufficient, you writ s.th in a file. The other 
program looks at this file if there is s.th written. But there will always 
be problems with locking...
The fifo's is the only thing fast enough to get off 500000 mails a day on
an old P90 box with 16MB RAM (only possible with linux:)! 

That would be a great thing for cygwin. I have no idea (unfortunately), but i 
think a 'pseudo trigger' would be nice, s.th. that looks like a fifo (a file?)
and that acts like a fifo (-> socket). You put s.th in at one end which waits
until someone pulls it out at the other end.

There are also named pipes at in windows, maybe they can be assimilated?
(Are we Borg enough to assimilate?)

Gerrit



-- 
=^..^=

--
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