libpftimers: use signalling instead of polling in gc