[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