]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Pass state properly when radio is turned off in middle of tranmission.
authorscipio <scipio>
Tue, 19 Feb 2008 19:51:08 +0000 (19:51 +0000)
committerscipio <scipio>
Tue, 19 Feb 2008 19:51:08 +0000 (19:51 +0000)
tos/lib/tossim/TossimPacketModelC.nc

index 392682fb4e6f4f86222be1abb9f4cc67668eb784..42f3f3443907b234f90098b1e013ce4e2e8eb984 100644 (file)
@@ -133,7 +133,7 @@ implementation {
     tossim_metadata_t* meta = getMetadata(ack);
     return meta->ack;
   }
-
+      
   task void sendDoneTask() {
     message_t* msg = sending;
     tossim_metadata_t* meta = getMetadata(msg);
@@ -141,7 +141,7 @@ implementation {
     meta->strength = 0;
     meta->time = 0;
     sending = FALSE;
-    signal Packet.sendDone(msg, SUCCESS);
+    signal Packet.sendDone(msg, running? SUCCESS:EOFF);
   }
 
   command error_t Packet.cancel(message_t* msg) {
@@ -244,7 +244,7 @@ implementation {
   void send_transmit(sim_event_t* evt) {
     sim_time_t duration;
     tossim_metadata_t* metadata = getMetadata(sending);
-    
+
     duration = 8 * (sendingLength + sim_packet_header_length());
     duration /= sim_csma_bits_per_symbol();
     duration += sim_csma_preamble_length();
@@ -273,7 +273,7 @@ implementation {
     sending = NULL;
     transmitting = FALSE;
     dbg("TossimPacketModelC", "PACKET: Signaling send done at %llu.\n", sim_time());
-    signal Packet.sendDone(rval, SUCCESS);
+    signal Packet.sendDone(rval, running? SUCCESS:EOFF);
   }
 
   event void GainRadioModel.receive(message_t* msg) {