Hi

THe patch was against r1.0  

I put the write code

                inode->i_atime = CURRENT_TIME;
                if ((result = (*RTF_HANDLER(minor)) (minor)) < 0) {
                        return result;
                }
                return write;

into the rtf_put code


you now have a 
fifo_wake_sleepers(minor); there

So I suppose adding 
        if ((result = (*RTF_HANDLER(minor)) (minor)) < 0) {
          return result;
        }

in rtf_put should do it

here is the patch anyway

Seems to work...



Phil


--- rtl_fifo.c  Thu Oct 28 12:52:56 1999
+++ rtl_fifop.c Wed Nov 24 12:20:11 1999
@@ -76,6 +76,7 @@
        return 0;
 }
 
+
 static void rtf_wake_up(void *p)
 {
        struct rt_fifo_struct *fifo_ptr = (struct rt_fifo_struct *) p;
@@ -175,6 +176,8 @@
 {
        unsigned int interrupt_state;
        int chars = 0, free = 0, written = 0;
+        int result;
+
        char *pipebuf;
 
        if (minor >= RTF_NO) {
@@ -203,6 +206,11 @@
        }
        rtl_end_critical(interrupt_state);
        fifo_wake_sleepers(minor);
+        /* PSW patch   */
+       if ((result = (*RTF_HANDLER(minor)) (minor)) < 0) {
+         return result;
+       }
+        
        return written;
 }
 
@@ -565,3 +573,8 @@
 
 
 #endif                         /* MODULE */
+
+
+
+
+
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to