这篇教程C++ BUG_TRAP函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BUG_TRAP函数的典型用法代码示例。如果您正苦于以下问题:C++ BUG_TRAP函数的具体用法?C++ BUG_TRAP怎么用?C++ BUG_TRAP使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BUG_TRAP函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: inet6_ifa_finish_destroyvoid inet6_ifa_finish_destroy(struct inet6_ifaddr *ifp){ BUG_TRAP(ifp->if_next==NULL); BUG_TRAP(ifp->lst_next==NULL);#ifdef NET_REFCNT_DEBUG printk(KERN_DEBUG "inet6_ifa_finish_destroy/n");#endif in6_dev_put(ifp->idev); if (del_timer(&ifp->timer)) printk("Timer is still running, when freeing ifa=%p/n", ifp); if (!ifp->dead) { printk("Freeing alive inet6 address %p/n", ifp); return; } inet6_ifa_count--; kfree(ifp);}
开发者ID:hugh712,项目名称:Jollen,代码行数:20,
示例2: dev_shutdownvoid dev_shutdown(struct net_device *dev){ struct Qdisc *qdisc; write_lock(&qdisc_tree_lock); spin_lock_bh(&dev->queue_lock); qdisc = dev->qdisc_sleeping; dev->qdisc = &noop_qdisc; dev->qdisc_sleeping = &noop_qdisc; qdisc_destroy(qdisc);#if defined(CONFIG_NET_SCH_INGRESS) || defined(CONFIG_NET_SCH_INGRESS_MODULE) if ((qdisc = dev->qdisc_ingress) != NULL) { dev->qdisc_ingress = NULL; qdisc_destroy(qdisc); }#endif BUG_TRAP(dev->qdisc_list == NULL); BUG_TRAP(!timer_pending(&dev->watchdog_timer)); spin_unlock_bh(&dev->queue_lock); write_unlock(&qdisc_tree_lock);}
开发者ID:cilynx,项目名称:dd-wrt,代码行数:21,
示例3: sk_stream_kill_queuesvoid sk_stream_kill_queues(struct sock *sk){ /* First the read buffer. */ __skb_queue_purge(&sk->sk_receive_queue); /* Next, the error queue. */ __skb_queue_purge(&sk->sk_error_queue); /* Next, the write queue. */ BUG_TRAP(skb_queue_empty(&sk->sk_write_queue)); /* Account for returned memory. */ sk_stream_mem_reclaim(sk); BUG_TRAP(!sk->sk_wmem_queued); BUG_TRAP(!sk->sk_forward_alloc); /* It is _impossible_ for the backlog to contain anything * when we get here. All user references to this socket * have gone away, only the net layer knows can touch it. */}
开发者ID:laitianli,项目名称:kernel-analyze_linux-2.6.18,代码行数:22,
示例4: ip_dev_loopback_xmit/* dev_loopback_xmit for use with netfilter. */static int ip_dev_loopback_xmit(struct sk_buff *newskb){ newskb->mac.raw = newskb->data; __skb_pull(newskb, newskb->nh.raw - newskb->data); newskb->pkt_type = PACKET_LOOPBACK; newskb->ip_summed = CHECKSUM_UNNECESSARY; BUG_TRAP(newskb->dst);#ifdef CONFIG_NETFILTER_DEBUG nf_debug_ip_loopback_xmit(newskb);#endif netif_rx(newskb); return 0;}
开发者ID:Aromer-room,项目名称:philz_touch_cwm6_device_vendor,代码行数:15,
示例5: dccp_disconnectint dccp_disconnect(struct sock *sk, int flags){ struct inet_connection_sock *icsk = inet_csk(sk); struct inet_sock *inet = inet_sk(sk); int err = 0; const int old_state = sk->sk_state; if (old_state != DCCP_CLOSED) dccp_set_state(sk, DCCP_CLOSED); /* * This corresponds to the ABORT function of RFC793, sec. 3.8 * TCP uses a RST segment, DCCP a Reset packet with Code 2, "Aborted". */ if (old_state == DCCP_LISTEN) { inet_csk_listen_stop(sk); } else if (dccp_need_reset(old_state)) { dccp_send_reset(sk, DCCP_RESET_CODE_ABORTED); sk->sk_err = ECONNRESET; } else if (old_state == DCCP_REQUESTING) sk->sk_err = ECONNRESET; dccp_clear_xmit_timers(sk); __skb_queue_purge(&sk->sk_receive_queue); if (sk->sk_send_head != NULL) { __kfree_skb(sk->sk_send_head); sk->sk_send_head = NULL; } inet->dport = 0; if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) inet_reset_saddr(sk); sk->sk_shutdown = 0; sock_reset_flag(sk, SOCK_DONE); icsk->icsk_backoff = 0; inet_csk_delack_init(sk); __sk_dst_reset(sk); BUG_TRAP(!inet->num || icsk->icsk_bind_hash); sk->sk_error_report(sk); return err;}
开发者ID:miettal,项目名称:armadillo420_standard,代码行数:46,
示例6: tcf_hash_destroyvoid tcf_hash_destroy(struct tcf_common *p, struct tcf_hashinfo *hinfo){ unsigned int h = tcf_hash(p->tcfc_index, hinfo->hmask); struct tcf_common **p1p; for (p1p = &hinfo->htab[h]; *p1p; p1p = &(*p1p)->tcfc_next) { if (*p1p == p) { write_lock_bh(hinfo->lock); *p1p = p->tcfc_next; write_unlock_bh(hinfo->lock); gen_kill_estimator(&p->tcfc_bstats, &p->tcfc_rate_est); kfree(p); return; } } BUG_TRAP(0);}
开发者ID:helicopter3,项目名称:wl500g,代码行数:18,
示例7: inet_set_ifastatic int inet_set_ifa(struct net_device *dev, struct in_ifaddr *ifa){ struct in_device *in_dev = __in_dev_get_rtnl(dev); ASSERT_RTNL(); if (!in_dev) { inet_free_ifa(ifa); return -ENOBUFS; } ipv4_devconf_setall(in_dev); if (ifa->ifa_dev != in_dev) { BUG_TRAP(!ifa->ifa_dev); in_dev_hold(in_dev); ifa->ifa_dev = in_dev; } if (ipv4_is_loopback(ifa->ifa_local)) ifa->ifa_scope = RT_SCOPE_HOST; return inet_insert_ifa(ifa);}
开发者ID:274914765,项目名称:C,代码行数:20,
示例8: dccp_disconnectint dccp_disconnect(struct sock *sk, int flags){ struct inet_connection_sock *icsk = inet_csk(sk); struct inet_sock *inet = inet_sk(sk); int err = 0; const int old_state = sk->sk_state; if (old_state != DCCP_CLOSED) dccp_set_state(sk, DCCP_CLOSED); /* ABORT function of RFC793 */ if (old_state == DCCP_LISTEN) { inet_csk_listen_stop(sk); /* FIXME: do the active reset thing */ } else if (old_state == DCCP_REQUESTING) sk->sk_err = ECONNRESET; dccp_clear_xmit_timers(sk); __skb_queue_purge(&sk->sk_receive_queue); if (sk->sk_send_head != NULL) { __kfree_skb(sk->sk_send_head); sk->sk_send_head = NULL; } inet->dport = 0; if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) inet_reset_saddr(sk); sk->sk_shutdown = 0; sock_reset_flag(sk, SOCK_DONE); icsk->icsk_backoff = 0; inet_csk_delack_init(sk); __sk_dst_reset(sk); BUG_TRAP(!inet->num || icsk->icsk_bind_hash); sk->sk_error_report(sk); return err;}
开发者ID:BackupTheBerlios,项目名称:tew632-brp-svn,代码行数:41,
示例9: tcf_police_destroystatic void tcf_police_destroy(struct tcf_police *p){ unsigned int h = tcf_hash(p->tcf_index, POL_TAB_MASK); struct tcf_common **p1p; for (p1p = &tcf_police_ht[h]; *p1p; p1p = &(*p1p)->tcfc_next) { if (*p1p == &p->common) { write_lock_bh(&police_lock); *p1p = p->tcf_next; write_unlock_bh(&police_lock); gen_kill_estimator(&p->tcf_bstats, &p->tcf_rate_est); if (p->tcfp_R_tab) qdisc_put_rtab(p->tcfp_R_tab); if (p->tcfp_P_tab) qdisc_put_rtab(p->tcfp_P_tab); kfree(p); return; } } BUG_TRAP(0);}
开发者ID:NKSG,项目名称:INTER_MANET_NS3,代码行数:22,
示例10: tcf_police_destroyvoid tcf_police_destroy(struct tcf_police *p){ unsigned h = tcf_police_hash(p->index); struct tcf_police **p1p; for (p1p = &tcf_police_ht[h]; *p1p; p1p = &(*p1p)->next) { if (*p1p == p) { write_lock_bh(&police_lock); *p1p = p->next; write_unlock_bh(&police_lock);#ifdef CONFIG_NET_ESTIMATOR qdisc_kill_estimator(&p->stats);#endif if (p->R_tab) qdisc_put_rtab(p->R_tab); if (p->P_tab) qdisc_put_rtab(p->P_tab); kfree(p); return; } } BUG_TRAP(0);}
开发者ID:AttilaLorincz,项目名称:tomato-speedmod,代码行数:23,
示例11: fib6_clean_nodestatic int fib6_clean_node(struct fib6_walker_t *w){ int res; struct rt6_info *rt; struct fib6_cleaner_t *c = (struct fib6_cleaner_t*)w; for (rt = w->leaf; rt; rt = rt->u.next) { res = c->func(rt, c->arg); if (res < 0) { w->leaf = rt; res = fib6_del(rt); if (res) {#if RT6_DEBUG >= 2 printk(KERN_DEBUG "fib6_clean_node: del failed: rt=%[email C++ BUILD_BUG_ON函数代码示例 C++ BUG_ON函数代码示例
|