On 0324T1032, Jean-Sébastien Pédron wrote: > On 23/03/2016 18:45, Edward Tomasz Napierala wrote: > >> So maybe callouts are disabled in this situation. If there is a way to > >> detect that, then vt(4) can go back to a "synchronous mode" where it > >> refreshes the screen after each typed character, like it does when ddb > >> is active. > > > > Looks like that's the case: for some reason the callouts don't work. > > This trivial hack is a (mostly) working workaround: > > > > Index: svn/head/sys/kern/kern_cons.c > > =================================================================== > > --- svn/head/sys/kern/kern_cons.c (revision 297210) > > +++ svn/head/sys/kern/kern_cons.c (working copy) > > @@ -430,6 +430,7 @@ cngets(char *cp, size_t size, int visible) > > lp = cp; > > end = cp + size - 1; > > for (;;) { > > + pause("meh", 1); > > Could you please explain how this works to me? Does calling pause() here > give a chance to interrupt handlers or other threads of running?
It looks like it allows the callout to run. I've did an experiment and added a simple callout that printed something each second; during the root mount prompt it doesn't get run unless you type '.', which calls pause(9). And, for the record, https://reviews.freebsd.org/D5724 doesn't fix the problem. _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"