chenyunecjtu / coreavc-for-linux

Automatically exported from code.google.com/p/coreavc-for-linux
GNU General Public License v2.0
0 stars 1 forks source link

shm_open in dshowserver fails #84

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
shm_open is called without O_CREAT flag, so file descriptor for shared
memory is not created. Patch to fix this problem:
=====
diff -ur coreavc-for-linux-read-only/dshowserver/server.c
coreavc-for-linux-read-new/dshowserver/server.c
--- coreavc-for-linux-read-only/dshowserver/server.c    2009-03-06
13:08:21.000000000 +0300
+++ coreavc-for-linux-read-new/dshowserver/server.c     2009-03-07
09:36:19.000000000 +0300
@@ -67,7 +67,7 @@
   int fd;

   snprintf(shm, 80, "/dshow_shm.%s", id);
-  fd = shm_open(shm, O_RDWR, S_IRUSR | S_IWUSR);
+  fd = shm_open(shm, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
   shm_unlink(shm);
   if(fd < 0) {
     perror("shm_open failed");

Original issue reported on code.google.com by udac...@gmail.com on 7 Mar 2009 at 6:42

GoogleCodeExporter commented 8 years ago
This is on purpose.  The sharedmemory must be created by the client befroe the 
server
is started

Original comment by alannis...@gmail.com on 9 Jan 2010 at 2:42