Changeset bd054d30866ab0144e0b0582e249184a8ea6506f
- Timestamp:
- 06/12/08 21:01:16
(3 months ago)
- Author:
- Rémi Denis-Courmont <rdenis@simphalempin.com>
- git-committer:
- Rémi Denis-Courmont <rdenis@simphalempin.com> 1213297276 +0300
- git-parent:
[bff9720dbec39d193e25cea5defee42da464ca92]
- git-author:
- Rémi Denis-Courmont <rdenis@simphalempin.com> 1213297276 +0300
- Message:
Remove services discovery tasks before the playlist
I assume nothing can ever try to add a new one once the interfaces have
been destroyed. If not there is a race condition.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r446bfcd |
rbd054d3 |
|
| 950 | 950 | } |
|---|
| 951 | 951 | #endif |
|---|
| | 952 | |
|---|
| | 953 | /* Remove all services discovery */ |
|---|
| | 954 | msg_Dbg( p_libvlc, "removing all services discovery tasks" ); |
|---|
| | 955 | playlist_ServicesDiscoveryKillAll( priv->p_playlist ); |
|---|
| 952 | 956 | |
|---|
| 953 | 957 | /* Free playlist */ |
|---|
| r65892ac |
rbd054d3 |
|
| 247 | 247 | return (libvlc_priv_t *)(libvlc + 1); |
|---|
| 248 | 248 | } |
|---|
| | 249 | |
|---|
| | 250 | void playlist_ServicesDiscoveryKillAll( playlist_t *p_playlist ); |
|---|
| 249 | 251 | |
|---|
| 250 | 252 | #define libvlc_stats( o ) (libvlc_priv((VLC_OBJECT(o))->p_libvlc)->b_stats) |
|---|
| rbff9720 |
rbd054d3 |
|
| 420 | 420 | #endif |
|---|
| 421 | 421 | |
|---|
| 422 | | while( p_playlist->i_sds ) |
|---|
| 423 | | { |
|---|
| 424 | | playlist_ServicesDiscoveryRemove( p_playlist, |
|---|
| 425 | | p_playlist->pp_sds[0]->p_sd->psz_module ); |
|---|
| 426 | | } |
|---|
| 427 | | |
|---|
| | 422 | /* Core should have terminated all SDs before the playlist */ |
|---|
| | 423 | assert( p_playlist->i_sds == 0 ); |
|---|
| 428 | 424 | playlist_MLDump( p_playlist ); |
|---|
| 429 | 425 | |
|---|
| rca12c6b |
rbd054d3 |
|
| 431 | 431 | } |
|---|
| 432 | 432 | |
|---|
| | 433 | void playlist_ServicesDiscoveryKillAll( playlist_t *p_playlist ) |
|---|
| | 434 | { |
|---|
| | 435 | while( p_playlist->i_sds > 0 ) |
|---|
| | 436 | playlist_ServicesDiscoveryRemove( p_playlist, |
|---|
| | 437 | p_playlist->pp_sds[0]->p_sd->psz_module ); |
|---|
| | 438 | } |
|---|
| | 439 | |
|---|