Messages in this thread | | | From | (Matthias Urlichs) | Subject | Re: linux-2.1.44 on i586: Immediate crash on boot | Date | 9 Jul 1997 09:40:49 +0200 |
| |
torvalds@transmeta.com (Linus Torvalds) writes: > > Ok, how many people want to test out a pre-patch?
Not me. It's buggy. ;-)
Your new code says:
static void __wait_on_inode(struct inode * inode) { struct wait_queue wait = { current, NULL }; add_wait_queue(&inode->i_wait, &wait); repeat: current->state = TASK_UNINTERRUPTIBLE; ! if (test_bit(I_LOCK, &inode->i_state)) { schedule(); goto repeat; } remove_wait_queue(&inode->i_wait, &wait); current->state = TASK_RUNNING; }
The banged line should be if (test_and_set_bit(..)), I'd say. Same in wait_on_inode().
Or am I (as usual these days, it seems) missing something?
-- Matthias Urlichs \ noris network GmbH / Xlink-POP Nürnberg Schleiermacherstraße 12 \ Linux+Internet / EMail: urlichs@noris.de 90491 Nürnberg (Germany) \ Consulting+Programming+Networking+etc'ing PGP: 1024/4F578875 1B 89 E2 1C 43 EA 80 44 15 D2 29 CF C6 C7 E0 DE Click <A HREF="http://info.noris.de/~smurf/finger">here</A>. 42
| |