Re: [courier-users] Re: Courier 20031005

2003-10-06 Thread Jon Nelson
On Sun, 5 Oct 2003, Gordon Messmer wrote:

 Jon Nelson wrote:
 
  If I may, I would suggest that neither patch is correct.
  You normally want to call connect *once*, and then select on the file
  descriptor.

 connect() doesn't return a file descriptor in all cases.  This patch
 addresses the case where connect() returns -1, and sets errno to EAGAIN.
   This happens when the socket you're trying to connect to is still
 listening, but its listen queue is full.  This happens sometimes when a
 storm of courier's processes try to connect to a filter before that
 filter gets a chance to accept the connections.

Oh, yeah.  Gotcha!  Nice catch!

  At the end of your proscribed time limit, or earlier, the
  file descriptor will be definitively connected, failed to connect, or
  still trying.  Sam's patch is much closer, IMO, but still not quite
  correct, because the patch calls connect multiple times.

 It only calls connect again if connect didn't return a file descriptor.

My mistake, and thanks for correcting me in a courteous and
police fashion, which I do appreciate.

--
Democracy is two wolves and a sheep voting on what to have for dinner.
Liberty is two wolves attempting to have a sheep for dinner and
finding a well-informed, well-armed sheep.

Jon Nelson [EMAIL PROTECTED]
C and Python Code Gardener


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users


[courier-users] Re: Courier 20031005

2003-10-05 Thread Sam Varshavchik
Jim Gifford writes:

Do you want me to test to see if it fixes the makealiases problem I had with
DB 4.1.25???
You can try it, but I doubt it.  DB 4.1.25 looks to be plain buggy.



pgp0.pgp
Description: PGP signature


Re: [courier-users] Re: Courier 20031005

2003-10-05 Thread Jon Nelson
On Sun, 5 Oct 2003, Sam Varshavchik wrote:

 Jim Gifford writes:

  Do you want me to test to see if it fixes the makealiases problem I had with
  DB 4.1.25???

 You can try it, but I doubt it.  DB 4.1.25 looks to be plain buggy.

Do you mean buggy with courier or just plain buggy everywhere?
I've not heard this assertion by anybody else, and some distros
(with many good developers backing up their decisions) use db 4.1.25

Can you give specifics?

--
Democracy is two wolves and a sheep voting on what to have for dinner.
Liberty is two wolves attempting to have a sheep for dinner and
finding a well-informed, well-armed sheep.

Jon Nelson [EMAIL PROTECTED]
C and Python Code Gardener


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users


[courier-users] Re: Courier 20031005

2003-10-05 Thread Sam Varshavchik
Jon Nelson writes:

On Sun, 5 Oct 2003, Sam Varshavchik wrote:

Jim Gifford writes:

 Do you want me to test to see if it fixes the makealiases problem I had with
 DB 4.1.25???
You can try it, but I doubt it.  DB 4.1.25 looks to be plain buggy.
Do you mean buggy with courier or just plain buggy everywhere?
I've not heard this assertion by anybody else, and some distros
(with many good developers backing up their decisions) use db 4.1.25
Can you give specifics?
http://marc.theaimsgroup.com/?l=courier-usersm=106427731909556w=2




pgp0.pgp
Description: PGP signature


Re: [courier-users] Re: Courier 20031005

2003-10-05 Thread Jon Nelson
On Sun, 5 Oct 2003, Sam Varshavchik wrote:

 Gordon Messmer writes:

  Sam Varshavchik wrote:
  Download: http://www.courier-mta.org/download.php
 
  Any chance of this patch (or something similar) making it in before the
  next release?
 
  http://phantom.dragonsdawn.net/~gordon/courier-patches/cdfilters-EAGAIN.patch

 This is not correct.  No matter what you're trying to do, throwing away the
 return code from connect() is patently wrong.  This may work on your
 particular operating system or revision, but it's a sure bet it's not going
 to work for everyone.

 I believe that the following patch, instead, is the correct way to do this.

If I may, I would suggest that neither patch is correct.
You normally want to call connect *once*, and then select on the file
descriptor.  At the end of your proscribed time limit, or earlier, the
file descriptor will be definitively connected, failed to connect, or
still trying.  Sam's patch is much closer, IMO, but still not quite
correct, because the patch calls connect multiple times.

I could be wrong, but I've never seen it used like this.

--
Democracy is two wolves and a sheep voting on what to have for dinner.
Liberty is two wolves attempting to have a sheep for dinner and
finding a well-informed, well-armed sheep.

Jon Nelson [EMAIL PROTECTED]
C and Python Code Gardener


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users


Re: [courier-users] Re: Courier 20031005

2003-10-05 Thread Jon Nelson
On Sun, 5 Oct 2003, Sam Varshavchik wrote:

 Jon Nelson writes:

  On Sun, 5 Oct 2003, Sam Varshavchik wrote:
 
  Jim Gifford writes:
 
   Do you want me to test to see if it fixes the makealiases problem I had with
   DB 4.1.25???
 
  You can try it, but I doubt it.  DB 4.1.25 looks to be plain buggy.
 
  Do you mean buggy with courier or just plain buggy everywhere?
  I've not heard this assertion by anybody else, and some distros
  (with many good developers backing up their decisions) use db 4.1.25
 
  Can you give specifics?

 http://marc.theaimsgroup.com/?l=courier-usersm=106427731909556w=2

OK, that's a link (which I was familiar with anyway), but it doesn't
explain how *every* other piece of software that I've used (which uses
db 4.1.25) works successfully, including various versions of Perl,
Python, and may C programs.  Maybe something is buggy about how courier
is using db 4.1.25, but I've seen nothing either here or elsewhere that
suggests that there are issues with db 4.1.25 that aren't solved by
applying the patches that SleepyCat already provides (and which, BTW,
Debian also patches their's with).

Just FYI, I still prefer gdbm but I also prefer facts or strong evidence
to weak supposition, and that's unfortunately what I see here.

--
Democracy is two wolves and a sheep voting on what to have for dinner.
Liberty is two wolves attempting to have a sheep for dinner and
finding a well-informed, well-armed sheep.

Jon Nelson [EMAIL PROTECTED]
C and Python Code Gardener


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users


Re: [courier-users] Re: Courier 20031005

2003-10-05 Thread Gordon Messmer
Jon Nelson wrote:
If I may, I would suggest that neither patch is correct.
You normally want to call connect *once*, and then select on the file
descriptor.
connect() doesn't return a file descriptor in all cases.  This patch 
addresses the case where connect() returns -1, and sets errno to EAGAIN. 
 This happens when the socket you're trying to connect to is still 
listening, but its listen queue is full.  This happens sometimes when a 
storm of courier's processes try to connect to a filter before that 
filter gets a chance to accept the connections.

At the end of your proscribed time limit, or earlier, the
file descriptor will be definitively connected, failed to connect, or
still trying.  Sam's patch is much closer, IMO, but still not quite
correct, because the patch calls connect multiple times.
It only calls connect again if connect didn't return a file descriptor.



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users


Re: [courier-users] Re: Courier 20031005

2003-10-05 Thread Gordon Messmer
Sam Varshavchik wrote:
Gordon Messmer writes:

Any chance of this patch (or something similar) making it in before 
the next release?

http://phantom.dragonsdawn.net/~gordon/courier-patches/cdfilters-EAGAIN.patch 
This is not correct.  No matter what you're trying to do, throwing away 
the return code from connect() is patently wrong.  This may work on your 
particular operating system or revision, but it's a sure bet it's not 
going to work for everyone.

I believe that the following patch, instead, is the correct way to do this.
That's cool.  I've hoping that you'd look in to this particular case.

Thank you.



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users