Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Alright, i am using a struct for my consoles, but that's not the problem. the struct has members caled queue (a char *) and queuelen (an unsigned). there are 8 consoles (0-7). i type text in one console, switch to another and use my queue display key (ctl+sysrq+q) and it is the same as console 0 (and every other console.) i think that it is the fact that queue is a char *, but here is my code for setting the queue:
I'd do this how? the allocation of memory for it? i have found a working way but it only provides a limited queue, and it's kind of hard to work with, so i'd like this way (the working way is a char[100]) and as i said i prefer a char *
when you define, char *.... the pointer points to random address, you are lucky it works, could have overwritten your code, hard bug to find.
do you have a memory manager for memory allocation and deallocation?
if not then you could try this, dedicate parts in memory for each queue manually. but you need to make sure nothing else will overwrite those areas
console 1 queue: 0x9000 to xxxxx
console 2 queue: (0x9000+xxxx) to aaaa
...
...
No I think you'll be lucky on that until you've written a memory allocation(MM). The problem is that console_t is a structure of more than 1 byte so the pointer to it has to equal _vc plus the curr_vc_num times the size of console_t so