HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] Waiting for modem to come ready



On 2002.07.31 09:48 Lee Howard wrote:

> Can I send you a patch to test this with, or do I need to send you 
> binary RPMs?

Here's the patch I'd like you to try.  If you don't know what to do with 
this, then let me know.

Thanks.

Lee.
diff -Nru hylafax.orig/faxd/FaxSend.c++ hylafax/faxd/FaxSend.c++
--- hylafax.orig/faxd/FaxSend.c++	Wed Jul 24 04:28:25 2002
+++ hylafax/faxd/FaxSend.c++	Thu Aug  1 00:38:20 2002
@@ -75,6 +75,7 @@
 	     * can be prepared to answer incoming phone calls.
 	     */
 	    discardModem(true);
+	    pause(dtrDropDelay);
 	    changeState(MODEMWAIT, 5);
 	} else {
 	    sendFailed(fax, send_retry, "Can not setup modem", 4*pollModemWait);
diff -Nru hylafax.orig/faxd/FaxServer.c++ hylafax/faxd/FaxServer.c++
--- hylafax.orig/faxd/FaxServer.c++	Wed Jul 24 04:28:25 2002
+++ hylafax/faxd/FaxServer.c++	Thu Aug  1 00:38:05 2002
@@ -57,6 +57,18 @@
 }
 
 void
+FaxServer::pause(u_int ms)
+{
+    if (ms == 0)
+	return;
+    traceProtocol("DELAY %u ms", ms);
+    struct timeval tv;
+    tv.tv_sec = ms / 1000;
+    tv.tv_usec = (ms % 1000) * 1000;
+    (void) select(0, 0, 0, 0, &tv);
+}
+
+void
 FaxServer::initialize(int argc, char** argv)
 {
     ModemServer::initialize(argc, argv);
diff -Nru hylafax.orig/faxd/FaxServer.h hylafax/faxd/FaxServer.h
--- hylafax.orig/faxd/FaxServer.h	Wed Jul 24 04:28:25 2002
+++ hylafax/faxd/FaxServer.h	Wed Jul 31 13:35:23 2002
@@ -112,6 +112,7 @@
 public:
     virtual ~FaxServer();
 
+    void	pause(u_int ms);
     void initialize(int argc, char** argv);
 
     const fxStr& getLocalIdentifier() const;
diff -Nru hylafax.orig/faxd/faxGettyApp.c++ hylafax/faxd/faxGettyApp.c++
--- hylafax.orig/faxd/faxGettyApp.c++	Wed Jul 24 04:28:25 2002
+++ hylafax/faxd/faxGettyApp.c++	Wed Jul 31 12:55:28 2002
@@ -199,6 +199,7 @@
 	 */
 	traceServer("ANSWER: Can not lock modem device");
 	discardModem(false);
+	pause(dtrDropDelay);
 	changeState(LOCKWAIT, pollLockWait);
 	sendModemStatus("U");
     }



Project hosted by iFAX Solutions