Balanced polling is a method for efficiently handling interrupts on stock hardware. In this paper, an interrupt is an exceptional event for which some appropriate processing is performed. The advantages of this method, compared with handling interrupts in the processor hardware, are the portability and the low cost of the implementation. But the method has an overhead because of the code inserted for checking. In order to reduce the overhead, Feeley studies some strategies for inserting the checks in the code, namely call-return polling (an interrupt check is inserted as the very first instruction of the procedure call code and the return code) and balanced polling (polling state invariants, which are expected to be true at the entry and return points, are introduced). These polling strategies are applied to a LISP system called Gambit for stack overflow detection, preemption interruption, interprocessor communication, intertask communication, and barrier synchronization. An example showing the M68020 assembly code generated by Gambit for a tail-recursive procedure with the associated interrupt check sequence, and a table containing the overhead of polling methods for different programs, are also presented.