Commit 93c16a0b authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Simplify shutdown() portability

parent 42388a77
...@@ -176,29 +176,11 @@ struct pollfd ...@@ -176,29 +176,11 @@ struct pollfd
int poll (struct pollfd *fds, unsigned nfds, int timeout); int poll (struct pollfd *fds, unsigned nfds, int timeout);
#endif #endif
/*****************************************************************************
* net_StopRecv/Send
*****************************************************************************
* Wrappers for shutdown()
*****************************************************************************/
#if defined (SHUT_WR)
/* the standard way */
# define net_StopSend( fd ) (void)shutdown( fd, SHUT_WR )
# define net_StopRecv( fd ) (void)shutdown( fd, SHUT_RD )
#elif defined (SD_SEND)
/* the Microsoft seemingly-purposedly-different-for-the-sake-of-it way */
# define net_StopSend( fd ) (void)shutdown( fd, SD_SEND )
# define net_StopRecv( fd ) (void)shutdown( fd, SD_RECEIVE )
#else
# ifndef SYS_BEOS /* R5 just doesn't have a working shutdown() */
# warning FIXME: implement shutdown on your platform!
# endif
# define net_StopSend( fd ) (void)0
# define net_StopRecv( fd ) (void)0
#endif
#ifdef WIN32 #ifdef WIN32
/* Microsoft: same semantic, same value, different name... go figure */
# define SHUT_RD SD_RECEIVE
# define SHUT_WR SD_SEND
# define SHUT_BOTH
# define net_Close( fd ) closesocket ((SOCKET)fd) # define net_Close( fd ) closesocket ((SOCKET)fd)
#else #else
# define net_Close( fd ) close (fd) # define net_Close( fd ) close (fd)
......
...@@ -758,10 +758,8 @@ static int ftp_StartStream( vlc_object_t *p_access, access_sys_t *p_sys, ...@@ -758,10 +758,8 @@ static int ftp_StartStream( vlc_object_t *p_access, access_sys_t *p_sys,
return VLC_EGENERIC; return VLC_EGENERIC;
} }
if( p_access->i_object_type == VLC_OBJECT_ACCESS ) shutdown( p_sys->fd_data,
net_StopSend( p_sys->fd_data ); ( p_access->i_object_type == VLC_OBJECT_ACCESS ) );
else
net_StopRecv( p_sys->fd_data );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
......
...@@ -258,7 +258,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -258,7 +258,7 @@ static int Open( vlc_object_t *p_this )
return VLC_EGENERIC; return VLC_EGENERIC;
} }
net_StopSend( p_sys->fd ); shutdown( p_sys->fd, SHUT_WR );
#ifdef UDPLITE_RECV_CSCOV #ifdef UDPLITE_RECV_CSCOV
if (proto == IPPROTO_UDPLITE) if (proto == IPPROTO_UDPLITE)
......
...@@ -323,7 +323,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -323,7 +323,7 @@ static int Open( vlc_object_t *p_this )
} }
} }
p_sys->p_thread->i_handle = i_handle; p_sys->p_thread->i_handle = i_handle;
net_StopRecv( i_handle ); shutdown( i_handle, SHUT_RD );
#ifdef UDPLITE_SEND_CSCOV #ifdef UDPLITE_SEND_CSCOV
if (proto == IPPROTO_UDPLITE) if (proto == IPPROTO_UDPLITE)
......
...@@ -278,7 +278,7 @@ static int CheckAndSend( vlc_object_t *p_this, uint8_t* p_data, int i_offset ) ...@@ -278,7 +278,7 @@ static int CheckAndSend( vlc_object_t *p_this, uint8_t* p_data, int i_offset )
return VLC_EGENERIC; return VLC_EGENERIC;
} }
net_StopRecv( i_handle ); shutdown( i_handle, SHUT_RD );
if( send( i_handle, p_data, i_offset, 0 ) if( send( i_handle, p_data, i_offset, 0 )
== -1 ) == -1 )
{ {
......
...@@ -1361,7 +1361,7 @@ static int InitSocket( services_discovery_t *p_sd, const char *psz_address, ...@@ -1361,7 +1361,7 @@ static int InitSocket( services_discovery_t *p_sd, const char *psz_address,
if (i_fd == -1) if (i_fd == -1)
return VLC_EGENERIC; return VLC_EGENERIC;
net_StopSend( i_fd ); shutdown( i_fd, SHUT_WR );
INSERT_ELEM (p_sd->p_sys->pi_fd, p_sd->p_sys->i_fd, INSERT_ELEM (p_sd->p_sys->pi_fd, p_sd->p_sys->i_fd,
p_sd->p_sys->i_fd, i_fd); p_sd->p_sys->i_fd, i_fd);
return VLC_SUCCESS; return VLC_SUCCESS;
......
...@@ -380,7 +380,7 @@ static int announce_SAPAnnounceAdd( sap_handler_t *p_sap, ...@@ -380,7 +380,7 @@ static int announce_SAPAnnounceAdd( sap_handler_t *p_sap,
p_address->i_wfd = net_ConnectUDP( VLC_OBJECT(p_sap), psz_addr, SAP_PORT, 255 ); p_address->i_wfd = net_ConnectUDP( VLC_OBJECT(p_sap), psz_addr, SAP_PORT, 255 );
if( p_address->i_wfd != -1 ) if( p_address->i_wfd != -1 )
{ {
net_StopRecv( p_address->i_wfd ); shutdown( p_address->i_wfd, SHUT_RD );
p_address->origlen = sizeof (p_address->orig); p_address->origlen = sizeof (p_address->orig);
getsockname (p_address->i_wfd, (struct sockaddr *)&p_address->orig, getsockname (p_address->i_wfd, (struct sockaddr *)&p_address->orig,
&p_address->origlen); &p_address->origlen);
...@@ -390,7 +390,7 @@ static int announce_SAPAnnounceAdd( sap_handler_t *p_sap, ...@@ -390,7 +390,7 @@ static int announce_SAPAnnounceAdd( sap_handler_t *p_sap,
{ {
p_address->i_rfd = net_ListenUDP1( (vlc_object_t*)p_sap, psz_addr, SAP_PORT ); p_address->i_rfd = net_ListenUDP1( (vlc_object_t*)p_sap, psz_addr, SAP_PORT );
if( p_address->i_rfd != -1 ) if( p_address->i_rfd != -1 )
net_StopSend( p_address->i_rfd ); shutdown( p_address->i_rfd, SHUT_WR );
p_address->i_buff = 0; p_address->i_buff = 0;
p_address->b_enabled = VLC_TRUE; p_address->b_enabled = VLC_TRUE;
p_address->b_ready = VLC_FALSE; p_address->b_ready = VLC_FALSE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment