copy back s_l number from kernel to daemon

git.mgm/mediaproxy-ng/github/master
Richard Fuchs 13 years ago
parent 97f9c3d398
commit c49ea7b403

@ -1038,6 +1038,12 @@ static void callmaster_timer(void *ptr) {
sr->kstats.packets = ke->stats.packets;
sr->kstats.bytes = ke->stats.bytes;
sr->kstats.errors = ke->stats.errors;
if (sr->crypto.out.crypto_suite)
sr->crypto.out.s_l = ke->target.encrypt.last_index;
if (sr->crypto.in.crypto_suite)
sr->other->crypto.in.s_l = ke->target.decrypt.last_index;
mutex_unlock(&cs->lock);
next:
@ -1715,7 +1721,11 @@ static void unkernelize(struct peer *p) {
return;
for (i = 0; i < 2; i++) {
if (!p->kernelized)
continue;
r = &p->rtps[i];
if (r->no_kernel_support)
continue;
kernel_del_stream(p->up->call->callmaster->conf.kernelfd, r->fd.localport);
r->no_kernel_support = 0;
}

@ -685,11 +685,20 @@ static ssize_t proc_blist_read(struct file *f, char __user *b, size_t l, loff_t
}
memset(&op, 0, sizeof(op));
spin_lock_irqsave(&g->stats_lock, flags);
memcpy(&op.target, &g->target, sizeof(op.target));
spin_lock_irqsave(&g->stats_lock, flags);
memcpy(&op.stats, &g->stats, sizeof(op.stats));
spin_unlock_irqrestore(&g->stats_lock, flags);
spin_lock_irqsave(&g->decrypt.lock, flags);
op.target.decrypt.last_index = g->target.decrypt.last_index;
spin_unlock_irqrestore(&g->decrypt.lock, flags);
spin_lock_irqsave(&g->encrypt.lock, flags);
op.target.encrypt.last_index = g->target.encrypt.last_index;
spin_unlock_irqrestore(&g->encrypt.lock, flags);
target_push(g);
err = -EFAULT;

Loading…
Cancel
Save