Merge branch 'master' of serenade.mutabah.net:opendispense2
[tpg/opendispense2.git] / src / server / handler_coke.c
index 79ae262..da9fa18 100644 (file)
@@ -130,9 +130,15 @@ void Coke_int_UpdateSlotStatuses(void)
        pthread_mutex_lock(&gCoke_Mutex);
        
        WaitForColon();
+       #if TRACE_COKE
+       printf("Coke_int_UpdateSlotStatuses: send d7\n");
+       #endif
        Writef("d7\r\n");       // Update slot statuses
        if( WaitForColon() )    goto ret;
-       Writef("s\n");
+       #if TRACE_COKE
+       printf("Coke_int_UpdateSlotStatuses: send s\n");
+       #endif
+       Writef("s\r\n");
        ReadLine(sizeof tmp, tmp);      // Read back what we just said
        
        for( i = 0; i <= 6; i ++ )
@@ -144,6 +150,9 @@ void Coke_int_UpdateSlotStatuses(void)
                        #endif
                        goto ret;       // I give up :(
                }
+               #if TRACE_COKE
+               printf("Coke_int_UpdateSlotStatuses: tmp = '%s'\n", tmp);
+               #endif
                Coke_int_GetSlotStatus(tmp, i);
        }
 
@@ -196,6 +205,15 @@ int Coke_DoDispense(int UNUSED(User), int Item)
                printf("Coke_DoDispense: sending 'd7'\n");
                #endif
                Writef("d7\r\n");
+               ret ++;
+       }
+       if( ret == 3 )
+       {
+               #if TRACE_COKE
+               printf("Coke_DoDispense: timed out\n");
+               #endif
+               pthread_mutex_unlock(&gCoke_Mutex);
+               return -1;
        }
 
        #if TRACE_COKE

UCC git Repository :: git.ucc.asn.au