vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun Jun 12 19:17:32 2011 +0300| [25214cb33cc0fdb196fe3f92568ce7c5ff4f9d09] | committer: Rémi Denis-Courmont
access_shm: use HAVE_SYS_SHM_H > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=25214cb33cc0fdb196fe3f92568ce7c5ff4f9d09 --- modules/access/shm.c | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/access/shm.c b/modules/access/shm.c index f98746d..97c5aca 100644 --- a/modules/access/shm.c +++ b/modules/access/shm.c @@ -26,8 +26,10 @@ #include <stdarg.h> #include <fcntl.h> -#include <sys/ipc.h> -#include <sys/shm.h> +#ifdef HAVE_SYS_SHM_H +# include <sys/ipc.h> +# include <sys/shm.h> +#endif #include <sys/mman.h> #include <vlc_common.h> @@ -105,16 +107,19 @@ vlc_module_begin () * memory location via an unsafe variable rather than the URL. */ add_string ("shm-file", NULL, FILE_TEXT, FILE_LONGTEXT, false) change_volatile () +#ifdef HAVE_SYS_SHM_H add_integer ("shm-id", (int64_t)IPC_PRIVATE, ID_TEXT, ID_LONGTEXT, false) change_volatile () - +#endif add_shortcut ("shm") vlc_module_end () static void Demux (void *); static int Control (demux_t *, int, va_list); static void map_detach (demux_sys_t *); +#ifdef HAVE_SYS_SHM_H static void sysv_detach (demux_sys_t *); +#endif static void no_detach (demux_sys_t *); struct demux_sys_t @@ -198,6 +203,7 @@ static int Open (vlc_object_t *obj) } else { +#ifdef HAVE_SYS_SHM_H int id = var_InheritInteger (demux, "shm-id"); if (id == IPC_PRIVATE) goto error; @@ -210,6 +216,9 @@ static int Open (vlc_object_t *obj) } sys->addr = mem; sys->detach = sysv_detach; +#else + goto error; +#endif } /* Initializes format */ @@ -274,11 +283,12 @@ static void map_detach (demux_sys_t *sys) munmap ((void *)sys->addr, sys->length); } - +#ifdef HAVE_SYS_SHM_H static void sysv_detach (demux_sys_t *sys) { shmdt (sys->addr); } +#endif static void no_detach (demux_sys_t *sys) { _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
