[improve] dont call cb on close directly