diff options
-rw-r--r-- | runtime/ChangeLog | 6 | ||||
-rw-r--r-- | runtime/print_new.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog index eb5f03bf..a5a094f0 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,9 @@ +2007-05-29 Frank Ch. Eigler <fche@elastic.org> + + PR 4458 + * print_new.c (_stp_print_flush): Use interrupt-disabling + spinlock variants. + 2007-05-29 Frank Ch. Eigler <fche@redhat.com> PR 2224 diff --git a/runtime/print_new.c b/runtime/print_new.c index a1f1274d..b34aad8a 100644 --- a/runtime/print_new.c +++ b/runtime/print_new.c @@ -52,13 +52,14 @@ void _stp_print_flush (void) #else { void *buf; - spin_lock(&_stp_print_lock); + unsigned long flags; + spin_lock_irqsave(&_stp_print_lock, flags); buf = relay_reserve(_stp_utt->rchan, len); if (likely(buf)) memcpy(buf, pb->buf, len); else atomic_inc (&_stp_transport_failures); - spin_unlock(&_stp_print_lock); + spin_unlock_irqrestore(&_stp_print_lock, flags); } #endif /* STP_BULKMODE */ } |