[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