[vlc-devel] commit: SAP out: no need for net_Write here ( Rémi Denis-Courmont )
git version control
git at videolan.org
Wed Aug 27 22:57:34 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Sat Aug 16 19:25:25 2008 +0300| [672a85d78c64f29f083c226c32a25a40cdc11890] | committer: Rémi Denis-Courmont
SAP out: no need for net_Write here
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=672a85d78c64f29f083c226c32a25a40cdc11890
---
src/stream_output/sap.c | 21 ++++++---------------
1 files changed, 6 insertions(+), 15 deletions(-)
diff --git a/src/stream_output/sap.c b/src/stream_output/sap.c
index 0c4e3f9..36e27cd 100644
--- a/src/stream_output/sap.c
+++ b/src/stream_output/sap.c
@@ -82,7 +82,7 @@ struct sap_address_t
/* A SAP session descriptor, enqueued in the SAP handler queue */
struct sap_session_t {
uint8_t *psz_data;
- unsigned i_length;
+ size_t i_length;
sap_address_t *p_address;
session_descriptor_t *p_sd;
@@ -193,10 +193,7 @@ static void * RunThread( vlc_object_t *p_this)
sap_handler_t *p_sap = (sap_handler_t*)p_this;
sap_session_t *p_session;
int canc = vlc_savecancel ();
- /* TODO: Once net_Write() is cancel-safe, so will this whole thread.
- * However, there is a more serious issues here: msleep(SAP_IDLE).
- * This thread should really use poll().
- */
+ /* TODO: Use poll() instead of msleep()). */
while( !p_sap->b_die )
{
@@ -551,8 +548,6 @@ static int announce_SAPAnnounceDel( sap_handler_t *p_sap,
static int announce_SendSAPAnnounce( sap_handler_t *p_sap,
sap_session_t *p_session )
{
- int i_ret;
-
/* This announce has never been sent yet */
if( p_session->i_last == 0 )
{
@@ -563,15 +558,11 @@ static int announce_SendSAPAnnounce( sap_handler_t *p_sap,
if( p_session->i_next < mdate() )
{
-#ifdef EXTRA_DEBUG
- msg_Dbg( p_sap, "sending announce");
-#endif
- i_ret = net_Write( p_sap, p_session->p_address->i_wfd, NULL,
- p_session->psz_data,
- p_session->i_length );
- if( i_ret != (int)p_session->i_length )
+ ssize_t i_ret = send( p_session->p_address->i_wfd, p_session->psz_data,
+ p_session->i_length, 0 );
+ if( i_ret != (ssize_t)p_session->i_length )
{
- msg_Warn( p_sap, "SAP send failed on address %s (%i %i)",
+ msg_Warn( p_sap, "SAP send failed on address %s (%zd/%zu)",
p_session->p_address->psz_address,
i_ret, p_session->i_length );
}
More information about the vlc-devel
mailing list