fix listener shared problem