Hello David!
Replying to a message of David Noon to Francois Massonneau:
First, thank you. It's a great help.
Arghh, I received your message half an hour ago, and I must leave in an
hour. I do not have time to test it. When I'm back, I will test it.
1) The first runs gave me some problems, but I guess I found the culprit.
Here you wrote :
/* Now we check that incoming mail delivery has completed.*/
/* by checking for the presence of *.spl in the spool directory.*/
call LogMsg 'waiting for Incoming mail delivery to complete ...'
do forever
call SysFileTree SpoolDir||'\*.spl', 'files.', 'FO'
if files.0 > 0 then
leave
call LogMsg 'now waiting for 30 seconds ...'
call SysSleep 30 /* We wait a little bit for the server to send the
mail */
end
say 'Incoming mail delivery complete.'
call LogMsg 'incoming mail delivery complete ...'
But it was a forever loop, as file.0 is always equal to zero if there is
no file in the Spooldir Directory ?
I changed the "if files.0 > 0 then", to "if files.0 == 0 then"
I have now :
call LogMsg 'waiting for Incoming mail delivery to complete ...'
do forever
call SysFileTree SpoolDir||'\*.spl', 'files.', 'FO'
if files.0 == 0 then <----- Here I changed it
leave
call LogMsg 'now waiting for 30 seconds ...'
call SysSleep 30 /* We wait a little bit for the server to send the
mail */
end
Is it correct ?
2) As this Rexx script must be run from an errorlevel created by Frontdoor,
then give the hand back to it, I changed the beginning and the end that way :
I added that :
SemaFile = 'inetmail'
SemaMailer = SemaforeDir||'\'SemaFile /* Name, Drive and Directory of the
semafore file you */
/* want the script to create once
it has run */
HwaitProgram = 'hwait /s:' /* Program to send a semafore file to Hwait */
PathofHwait = 'e:\os2tools\hstart\'
SendHwaitSignal = PathofHwait||HwaitProgram||SemaFile
I removed the "do forever" at the beginning and the "end" at the end of
the script.
And finally I removed those lines :
call SysSleep SleepTime
call stream SemaMailer, 'c', 'open write'
call lineout SemaMailer, 'inetmail semafore file'
call stream SemaMailer, 'c', 'close'
And put the following instead :
/* Now it's time to create the semafore file your mailer is waiting */
SendHwaitSignal
3) At the end of the script, I saw you write two times (one before and one
after the subroutine "StopDialler"), the following lines :
/* Reset elapsed time counter */
CALL TIME 'R'
RETURN
I suppose one is for the subroutine StartDialler, and the second one is for
the subroutine StopDialler. Is it a code to give the time on line ? If so,
where in the log file do I find it ??
I've find the following line "Dialler, disconnected after 0 seconds", but
it's not the time online. Eg. this is part of the log file generated :
22 Oct 1999 08:25:47 Started dialup up process ...
22 Oct 1999 08:25:47 Stopping the Internet Dialer ...
22 Oct 1999 08:25:47 dialer, if running, is killed.
22 Oct 1999 08:25:47 Dialler disconnected after 0 seconds.
22 Oct 1999 08:25:47 inetmail, if running, is killed.
22 Oct 1999 08:25:47 pop3d process, if running, is killed.
22 Oct 1999 08:25:47 smtpd process, if running, is killed.
22 Oct 1999 08:25:49 Starting the Internet Dialer ...
22 Oct 1999 08:26:50 warning ! no connection yet, wait, then test again...
22 Oct 1999 08:26:55 We can resolve hostnames, connection is up...
22 Oct 1999 08:26:55 InetMail, Pop3d and Smtpd are started...
22 Oct 1999 08:26:56 Starting of the PingServer procedure ...
22 Oct 1999 08:26:59 deleting the outgoing Mail Queue Flag.
22 Oct 1999 08:26:59 . sending the ETRN signals ...
22 Oct 1999 08:27:10 sleeping for 30 seconds ...
22 Oct 1999 08:27:40 waiting for queue delivery to complete ...
22 Oct 1999 08:32:54 queue delivery complete ...
22 Oct 1999 08:32:54 waiting for Incoming mail delivery to complete ...
22 Oct 1999 08:32:54 incoming mail delivery complete ...
22 Oct 1999 08:32:54 recreating the noqueue flag file.
22 Oct 1999 08:32:54 Hanging up ...
22 Oct 1999 08:32:54 dialer, if running, is killed.
22 Oct 1999 08:32:54 Dialler disconnected after 0 seconds.
22 Oct 1999 08:32:55 inetmail, if running, is killed.
22 Oct 1999 08:32:55 pop3d process, if running, is killed.
22 Oct 1999 08:32:55 smtpd process, if running, is killed.
22 Oct 1999 08:32:57 End of the script
So the time on line is not 0 second, but about 8 minutes.
4) From time to time Injoy (the dialler), gives me problems as I said
in my previous message and hang up while connected. Sometimes it
restarts by itself (using the Dial on Demand), but sometimes no ;-(
- Things can stay forever that way : the rexx script is waiting for
a command to complete for example, the dialler waits, and if nobody
is at the keyboard, it will stay waiting.
Is there a way to check what's going on with the dialler, and if
something goes wrong, then kill everything (the batch file that
runs the node from which that rexx script is started, the rexx
script itself, and all the related applis that are running
(Inetmail, the pop3d and smtpd processes, and the dialler), and
restart the BBS node ? Maybe the Rexx script could start another
rexx script to check what's going on ??
Again, a huge thank you.
Bye, Francois!
Email: fmas@celtes.com
Web : http://www.worldnet.net/~island/
___
X OLX 2.1 TD X (fmas@celtes.com - http://www.worldnet.fr/~island/)
--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, telnet://bbs.os2bbs.com (1:109/347)
|