ser_putchar(): Use fifo_push_locked() to fix potential race on 8bit processors.
authorbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Sun, 6 Jun 2004 16:41:44 +0000 (16:41 +0000)
committerbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Sun, 6 Jun 2004 16:41:44 +0000 (16:41 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@22 38d2e660-2303-0410-9eaa-f027e97ec537

drv/ser.c

index 1ec4927c753cd2ca0dff8c502b7a7b0751c0188a..ec3d87b1e9dd9f7090e4dee8b075082f0953ac70 100755 (executable)
--- a/drv/ser.c
+++ b/drv/ser.c
@@ -28,6 +28,9 @@
 
 /*
  * $Log$
+ * Revision 1.5  2004/06/06 16:41:44  bernie
+ * ser_putchar(): Use fifo_push_locked() to fix potential race on 8bit processors.
+ *
  * Revision 1.4  2004/06/03 11:27:09  bernie
  * Add dual-license information.
  *
@@ -96,7 +99,7 @@ int ser_putchar(int c, struct Serial *port)
                while (fifo_isfull_locked(&port->txfifo));
        }
 
-       fifo_push(&port->txfifo, (unsigned char)c);
+       fifo_push_locked(&port->txfifo, (unsigned char)c);
 
        /* (re)trigger tx interrupt */
        port->hw->table->enabletxirq(port->hw);