(I think this may have come up before and then gotten dropped.) libshout may need two additional API methods: libshout_init and libshout_shutdown. libshout itself currently has no use for these functions, but they would be used to call the init and shutdown hooks in the net library. When this library is built with thread support, it uses these hooks to create and destroy a library-wide mutex. I'd prefer to avoid adding these two methods, but I can't think of a good way to do it. Does anyone have any advice? -b --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wednesday 02 July 2003 08:33, Brendan Cully wrote:> (I think this may have come up before and then gotten dropped.) > > libshout may need two additional API methods: libshout_init and > libshout_shutdown. > > libshout itself currently has no use for these functions, but they > would be used to call the init and shutdown hooks in the net > library. When this library is built with thread support, it uses these > hooks to create and destroy a library-wide mutex. > > I'd prefer to avoid adding these two methods, but I can't think of a > good way to do it. Does anyone have any advice?There are two things here: resolver.c and sock.c The resolver is easy, we just use static initialisers for the mutex, rather than initialising through the functions. The thread module doesn't expose any static initialisers, but we could make it do so (or just take the hacky approach of using the pthread initialisers directly). ock.c is harder. On unix, it doesn't need to do anything, so it's ok. On windows, it calls WSAStartup() (and WSAShutdown() on shutdown). I assume those are neccesary for some reason. I'm not sure what to do about those... Ideas? Mike --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Thursday, 03 July 2003 at 11:47, Michael Smith wrote:> On Wednesday 02 July 2003 08:33, Brendan Cully wrote: > > (I think this may have come up before and then gotten dropped.) > > > > libshout may need two additional API methods: libshout_init and > > libshout_shutdown. > > > > libshout itself currently has no use for these functions, but they > > would be used to call the init and shutdown hooks in the net > > library. When this library is built with thread support, it uses these > > hooks to create and destroy a library-wide mutex. > > > > I'd prefer to avoid adding these two methods, but I can't think of a > > good way to do it. Does anyone have any advice? > > There are two things here: resolver.c and sock.c > > The resolver is easy, we just use static initialisers for the mutex, rather > than initialising through the functions. The thread module doesn't expose any > static initialisers, but we could make it do so (or just take the hacky > approach of using the pthread initialisers directly). > > sock.c is harder. On unix, it doesn't need to do anything, so it's ok. On > windows, it calls WSAStartup() (and WSAShutdown() on shutdown). I assume > those are neccesary for some reason. I'm not sure what to do about those... > Ideas?It's pretty easy to sneak an init in, it's the shutdown that I can't figure out how to hide. This is true for the resolver as well as sock, I think. --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.