summaryrefslogtreecommitdiffstats
path: root/runtime/print_new.c
diff options
context:
space:
mode:
authorfche <fche>2007-05-29 22:07:59 +0000
committerfche <fche>2007-05-29 22:07:59 +0000
commit28b7f6fb58ca84cfdd0bd2a85caa64b1c7247e8c (patch)
tree7cb5d9ffc0f9fb4919e536ab9c1fe7d3e8cb5627 /runtime/print_new.c
parent6059f090be4f46a6f402dcedc62c9292f7d5cf77 (diff)
downloadsystemtap-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.c5
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 */
}