diff options
author | fche <fche> | 2007-05-29 22:07:59 +0000 |
---|---|---|
committer | fche <fche> | 2007-05-29 22:07:59 +0000 |
commit | 28b7f6fb58ca84cfdd0bd2a85caa64b1c7247e8c (patch) | |
tree | 7cb5d9ffc0f9fb4919e536ab9c1fe7d3e8cb5627 /runtime/print_new.c | |
parent | 6059f090be4f46a6f402dcedc62c9292f7d5cf77 (diff) | |
download | systemtap-steved-28b7f6fb58ca84cfdd0bd2a85caa64b1c7247e8c.tar.gz systemtap-steved-28b7f6fb58ca84cfdd0bd2a85caa64b1c7247e8c.tar.xz systemtap-steved-28b7f6fb58ca84cfdd0bd2a85caa64b1c7247e8c.zip |
2007-05-29 Frank Ch. Eigler <fche@elastic.org>
PR 4458
* print_new.c (_stp_print_flush): Use interrupt-disabling
spinlock variants.
Diffstat (limited to 'runtime/print_new.c')
-rw-r--r-- | runtime/print_new.c | 5 |
1 files changed, 3 insertions, 2 deletions
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 */ } |