private void releaseFileWrite(FileWrite fw)
	{
		final int cnt = xmtq.size();
		boolean close = true;
		for (int idx = 0; idx != cnt; idx++) {
			final Object obj = xmtq.peek(idx);
			if (obj.getClass() == FileWrite.class && ((FileWrite)obj).chan == fw.chan) {
				close = false;
				break;
			}
		}
		if (close) {
			try {
				fw.chan.close();
			} catch (Exception ex) {
				LEVEL lvl = (ex instanceof RuntimeException ? LEVEL.ERR : LEVEL.TRC2);
				if (chanmon != null && chanmon.dsptch.logger.isActive(lvl)) {
					chanmon.dsptch.logger.log(lvl, ex, lvl==LEVEL.ERR, "IOExec: failed to close file - "+chanmon.getClass().getName()+"/E"+chanmon.getCMID());
				}
			}
		}
		fw.chan = null;
		chanmon.dsptch.filewritepool.store(fw);
	}