include/osl/socket.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
New commits: commit 0a126b4c661d65860fd2de92f8cc49bdb65a957c Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue May 25 09:58:33 2021 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Tue May 25 12:54:04 2021 +0200 Deprecate osl_demultiplexSocketEvents et al The oslSocketSet/osl_*SocketSet/osl_demultiplexSocketEvents functionality is based on the POSIX fd_set/FD_*/select functionality, which suffers from the issue that it has undefined behavior for file descriptors with numerical values greater than or equal to FD_SETSIZE. (And this can be a real issue e.g. on Linux, where tools::extendApplicationEnvironment in tools/source/misc/extendapplicationenvironment.cxx bumps the soft RLIMIT_NOFILE to the hard limit---so that file descriptors can likely have large values---, but where the GNU C library sets FD_SETSIZE to only 1024 and ignores larger descriptors.) This functionality is unused at least by LO itself, and also likely unused by third-party code. So instead of fixing the Unix-based implementation in sal/osl/unx/socket.cxx (by e.g. switching it from select to poll), just mark the functionality as deprecated (with the option of eventually removing the functionality completely from sal/osl/{unx,w32}/socket.cxx, leaving just stubs in sal/osl/all/compat.cxx). Change-Id: I2b97f8a37b45f298da9328660006f3c14361c9a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116089 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/include/osl/socket.h b/include/osl/socket.h index 0492dd3179ab..8e2a0066d17e 100644 --- a/include/osl/socket.h +++ b/include/osl/socket.h @@ -611,22 +611,30 @@ SAL_DLLPUBLIC oslSocketError SAL_CALL osl_getLastSocketError( oslSocket Socket); /** Type for the representation of socket sets. + + @deprecated */ typedef struct oslSocketSetImpl * oslSocketSet; /** Creates a set of sockets to be used with osl_demultiplexSocketEvents(). @return A oslSocketSet or 0 if creation failed. + + @deprecated */ SAL_DLLPUBLIC oslSocketSet SAL_CALL osl_createSocketSet(void); /** Destroys an oslSocketSet. + + @deprecated */ SAL_DLLPUBLIC void SAL_CALL osl_destroySocketSet(oslSocketSet Set); /** Clears the set from all previously added sockets. @param Set the set to be cleared. + + @deprecated */ SAL_DLLPUBLIC void SAL_CALL osl_clearSocketSet(oslSocketSet Set); @@ -635,6 +643,8 @@ SAL_DLLPUBLIC void SAL_CALL osl_clearSocketSet(oslSocketSet Set); @param Set the set were the socket is added. @param Socket the socket to be added. + + @deprecated */ SAL_DLLPUBLIC void SAL_CALL osl_addToSocketSet(oslSocketSet Set, oslSocket Socket); @@ -642,6 +652,8 @@ SAL_DLLPUBLIC void SAL_CALL osl_addToSocketSet(oslSocketSet Set, oslSocket Socke @param Set the set were the socket is removed from. @param Socket the socket to be removed. + + @deprecated */ SAL_DLLPUBLIC void SAL_CALL osl_removeFromSocketSet(oslSocketSet Set, oslSocket Socket); @@ -651,6 +663,8 @@ SAL_DLLPUBLIC void SAL_CALL osl_removeFromSocketSet(oslSocketSet Set, oslSocket @param Socket check if this socket is in the set. @retval sal_True if socket is in the set. + + @deprecated */ SAL_DLLPUBLIC sal_Bool SAL_CALL osl_isInSocketSet(oslSocketSet Set, oslSocket Socket); @@ -667,6 +681,8 @@ SAL_DLLPUBLIC sal_Bool SAL_CALL osl_isInSocketSet(oslSocketSet Set, oslSocket So @return -1 on errors, otherwise the number of sockets with pending events. In case of timeout, the number might be 0. + + @deprecated */ SAL_DLLPUBLIC sal_Int32 SAL_CALL osl_demultiplexSocketEvents( oslSocketSet IncomingSet, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits