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