Date: Wed, 17 Feb 2010 13:06:07 +0000 (UTC) From: Luigi Rizzo <luigi@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r204003 - head/sys/netinet/ipfw Message-ID: <201002171306.o1HD675S050325@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: luigi Date: Wed Feb 17 13:06:06 2010 New Revision: 204003 URL: http://svn.freebsd.org/changeset/base/204003 Log: remove recursive lock/unlock calls, we do them already before entering the switch. Reported by: Marta Carbone Modified: head/sys/netinet/ipfw/ip_fw_sockopt.c Modified: head/sys/netinet/ipfw/ip_fw_sockopt.c ============================================================================== --- head/sys/netinet/ipfw/ip_fw_sockopt.c Wed Feb 17 11:19:21 2010 (r204002) +++ head/sys/netinet/ipfw/ip_fw_sockopt.c Wed Feb 17 13:06:06 2010 (r204003) @@ -343,27 +343,22 @@ del_entry(struct ip_fw_chain *chain, u_i break; case 2: /* move rules with given number to new set */ - IPFW_UH_WLOCK(chain); for (i = 0; i < chain->n_rules; i++) { rule = chain->map[i]; if (rule->rulenum == rulenum) rule->set = new_set; } - IPFW_UH_WUNLOCK(chain); break; case 3: /* move rules with given set number to new set */ - IPFW_UH_WLOCK(chain); for (i = 0; i < chain->n_rules; i++) { rule = chain->map[i]; if (rule->set == rulenum) rule->set = new_set; } - IPFW_UH_WUNLOCK(chain); break; case 4: /* swap two sets */ - IPFW_UH_WLOCK(chain); for (i = 0; i < chain->n_rules; i++) { rule = chain->map[i]; if (rule->set == rulenum) @@ -371,7 +366,6 @@ del_entry(struct ip_fw_chain *chain, u_i else if (rule->set == new_set) rule->set = rulenum; } - IPFW_UH_WUNLOCK(chain); break; } rule = chain->reap;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002171306.o1HD675S050325>