|
version 1.8, 2001/08/30 06:11:05
|
version 1.9, 2001/08/30 06:20:40
|
|
|
|
| if (file->f_flags & O_NONBLOCK) | if (file->f_flags & O_NONBLOCK) |
| return -EAGAIN; | return -EAGAIN; |
| | |
| |
/* TODO - unroll sleep_on to make it atomic, like fs/pipe.c */ |
| interruptible_sleep_on(EMLOG_READQ(einfo)); | interruptible_sleep_on(EMLOG_READQ(einfo)); |
| | |
| /* see if a signal woke us up */ | /* see if a signal woke us up */ |
|
|
|
| write_to_emlog(einfo, message, n); | write_to_emlog(einfo, message, n); |
| kfree(message); | kfree(message); |
| | |
| /* wake up any readers that might be waiting for the data. we call |
/* wake up any readers that might be waiting for the data */ |
| * schedule in the vague hope that a reader will run before the |
|
| * writer's next write, to avoid losing data. */ |
|
| wake_up_interruptible(EMLOG_READQ(einfo)); | wake_up_interruptible(EMLOG_READQ(einfo)); |
| | |
| return n; | return n; |