mirror of
https://github.com/DigitalDevices/octonet.git
synced 2023-10-10 13:36:52 +02:00
possible fix for issue 38
This commit is contained in:
parent
19d82f46d0
commit
1afeef7675
@ -450,7 +450,8 @@ static void *release_no_sessions(struct ossess *oss)
|
|||||||
for (i = 0; i < MAX_SESSION; i++) {
|
for (i = 0; i < MAX_SESSION; i++) {
|
||||||
if (os->session[i].state &&
|
if (os->session[i].state &&
|
||||||
(os->session[i].stream == str) &&
|
(os->session[i].stream == str) &&
|
||||||
(&os->session[i] != oss))
|
(&os->session[i] != oss) &&
|
||||||
|
os->session[i].trans.mcast)
|
||||||
_release_session(&os->session[i]);
|
_release_session(&os->session[i]);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&os->lock);
|
pthread_mutex_unlock(&os->lock);
|
||||||
@ -1524,7 +1525,7 @@ static int setup_session(struct oscon *con, int newtrans)
|
|||||||
}
|
}
|
||||||
if (newtrans) {
|
if (newtrans) {
|
||||||
if (sess->trans.mcast && conform) {
|
if (sess->trans.mcast && conform) {
|
||||||
if (owner && newtrans > 1)
|
if (owner && (newtrans & ~1UL))
|
||||||
release_no_sessions(sess);
|
release_no_sessions(sess);
|
||||||
else {
|
else {
|
||||||
memcpy(&sess->trans, &str->session->trans, sizeof(struct ostrans));
|
memcpy(&sess->trans, &str->session->trans, sizeof(struct ostrans));
|
||||||
|
Loading…
Reference in New Issue
Block a user