source.c, function source_reserve() :
Function avl_tree_wlock(global.source_tree) call must be placed before
do-while, not inside the cycle.
My correction in block _DIGI:
#define _DIGI
...
if(mount[0] != '/')
ICECAST_LOG_WARN("Source at \"%s\" does not start with
'/',
clients will be "
"unable to connect", mount);
#ifdef _DIGI
avl_tree_wlock (global.source_tree);
do
{
#else
do
{
avl_tree_wlock (global.source_tree);
#endif
src = source_find_mount_raw (mount);
if (src)
{
src = NULL;
break;
}
...
On 2 Oct 2016, at 11:36, Andrey wrote:> source.c, function source_reserve() : > Function avl_tree_wlock(global.source_tree) call must be placed before > do-while, not inside the cycle.I do not think this makes any difference, this is a `do {} while (0)`, so it will only execute once anyway.> > My correction in block _DIGI: > > #define _DIGI > > ... > if(mount[0] != '/') > ICECAST_LOG_WARN("Source at \"%s\" does not start with '/', > clients will be " > "unable to connect", mount); > > #ifdef _DIGI > avl_tree_wlock (global.source_tree); > do > { > #else > do > { > avl_tree_wlock (global.source_tree); > #endif > src = source_find_mount_raw (mount); > if (src) > { > src = NULL; > break; > } > ... > _______________________________________________ > Icecast-dev mailing list > Icecast-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/icecast-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/icecast-dev/attachments/20161003/3bd7f8a7/attachment.html>
Yes, you are right. :-/ 02.10.16 21:36, Andrey пишет:> source.c, function source_reserve() : > Function avl_tree_wlock(global.source_tree) call must be placed before > do-while, not inside the cycle. > > My correction in block _DIGI: > > #define _DIGI > > ... > if(mount[0] != '/') > ICECAST_LOG_WARN("Source at \"%s\" does not start with '/', > clients will be " > "unable to connect", mount); > > #ifdef _DIGI > avl_tree_wlock (global.source_tree); > do > { > #else > do > { > avl_tree_wlock (global.source_tree); > #endif > src = source_find_mount_raw (mount); > if (src) > { > src = NULL; > break; > } > ... > _______________________________________________ > Icecast-dev mailing list > Icecast-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/icecast-dev