channel sel function;more garbage collection