add cancel

add cancel support to the file walker