Akopia Akopia Services

[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date ][Minivend by thread ]

Re: [mv] Setting MV session ID from outside of Minivend.]]



******    message to minivend-users from Mike Heins <mikeh@minivend.com>     ******

Quoting Hans-Joachim Leidinger (jojo@buchonline.net):
> ******    message to minivend-users from Hans-Joachim Leidinger <jojo@buchonline.net>     ******
> 
> > If you are running BSD, you may see hangs, but that is not Minivend's
> > fault IMHO. It is their kernel interrupting socket reads where no other
> > OS does. This is true for any Perl program that uses sockets.  The only
> > reason Minivend gets hit is that it is a long-running daemon process.
> 
> Mike,
> 
> I've ask my little brother for any comments about your messages and he
> has said:
> 
> "The perl functions should be return "errno", if something is going
> wrong. If this is "EINTR", it has to restart automatic. A simple example
> in C is
> 

I well understand this. Check the tlink/vlink code if you have any 
questions about that.

> ---snip---
> do {
>   ret = read(...);
> } while (ret == -1 && errno == EINTR);
> ---snip---
> 
> "man select" tell me
> ---snip---
>      [EINTR]       A signal was delivered before the time limit expired
> and
>                    before any of the selected events occurred.
> ---snip---
> and "man 2 read":
> ---snip---
>      [EINTR]       A read from a slow device was interrupted before any
> data
>                    arrived by the delivery of a signal.
> ---snip---
> 
> If this is only a function of BSD, this must not be a problem or a bug
> of this kind of OS. It is documented and it has a reason, because all
> things in BSD has in most common case a reason. It seems to me, it is a
> bug in minivend."

The thing is, Minivend has nothing to do with this. We use the Perl
Socket.pm and standard IO to do our reads. I do not want to have to
start getting down on the raw socket level. Minivend works too well as is.

AS I SAID: I DO NOT HAVE TIME TO GET INTO THESE GUTS. That is one
of the reasons I use Perl, and one of the reasons one person is able
to maintain an app the size of Minivend.

If someone wants to take on re-writing the Perl socket I/O layer
for BSD, I would welcome this. IT WILL NOT BE ME.

-- 
Internet Robotics, 131 Willow Lane, Floor 2, Oxford, OH  45056
phone +1.513.523.7621 fax 7501 <mikeh@minivend.com>

Friends don't let friends use Outlook. -- Bob Blaylock
-
To unsubscribe from the list, DO NOT REPLY to this message.  Instead, send
email with 'UNSUBSCRIBE minivend-users' in the body to Majordomo@minivend.com.
Archive of past messages: http://www.minivend.com/minivend/minivend-list


Search for: Match: Format: Sort by: