if (bufchain_size(&ps->pending_input_data) > 0) { ps->freeze = is_frozen;   while (!ps->freeze && bufchain_size(&ps->pending_input_data) > 0) { char * data; int len; bufchain_prefix(&ps->pending_input_data, &data, &len); plug_receive(ps->plug, 0, data, len); bufchain_consume(&ps->pending_input_data, len); }   if (ps->freeze) return; }
static void sk_proxy_set_frozen (Socket s, int is_frozen){    Proxy_Socket ps = (Proxy_Socket) s;    if (ps->state != PROXY_STATE_ACTIVE) {	ps->freeze = is_frozen;	return;    }    sk_set_frozen(ps->sub_socket, is_frozen);}