Fixed 'bug' in log driver that caused kernel messages not to be displayed.
This was caused by a change in the shared driver code. Not log's fault. Renamed #definitions of driver process numbers, e.g., TTY now is TTY_PROC_NR. All known (special) processes now have consistent naming scheme. Kernel tasks don't follow this scheme.
This commit is contained in:
@@ -18,7 +18,7 @@ int *sfkeys; /* bit masks for Shift F1-F12 keys */
|
||||
m.FKEY_REQUEST = request;
|
||||
m.FKEY_FKEYS = (fkeys) ? *fkeys : 0;
|
||||
m.FKEY_SFKEYS = (sfkeys) ? *sfkeys : 0;
|
||||
s = _taskcall(TTY, FKEY_CONTROL, &m);
|
||||
s = _taskcall(TTY_PROC_NR, FKEY_CONTROL, &m);
|
||||
if (fkeys) *fkeys = m.FKEY_FKEYS;
|
||||
if (sfkeys) *sfkeys = m.FKEY_SFKEYS;
|
||||
return(s);
|
||||
|
||||
@@ -16,19 +16,18 @@ void kputc(c)
|
||||
int c;
|
||||
{
|
||||
/* Accumulate another character. If 0 or buffer full, print it. */
|
||||
|
||||
static int buf_count; /* # characters in the buffer */
|
||||
static char print_buf[80]; /* output is buffered here */
|
||||
message m;
|
||||
|
||||
if ((c == 0 && buf_count > 0) || buf_count == sizeof(print_buf)) {
|
||||
|
||||
/* Send the buffer to the PRINTF_PROC driver. */
|
||||
/* Send the buffer to the OUTPUT_PROC_NR driver. */
|
||||
m.DIAG_BUF_COUNT = buf_count;
|
||||
m.DIAG_PRINT_BUF = print_buf;
|
||||
m.DIAG_PROC_NR = SELF;
|
||||
m.m_type = DIAGNOSTICS;
|
||||
(void) _sendrec(PRINTF_PROC, &m);
|
||||
(void) _sendrec(OUTPUT_PROC_NR, &m);
|
||||
buf_count = 0;
|
||||
|
||||
/* If the output fails, e.g., due to an ELOCKED, do not retry output
|
||||
|
||||
Reference in New Issue
Block a user