]> code.delx.au - pulseaudio/commitdiff
don't send SCM_CREDENTIALS on every sendmsg(), instead do it only on handshake
authorLennart Poettering <lennart@poettering.net>
Fri, 14 Jul 2006 23:00:57 +0000 (23:00 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 14 Jul 2006 23:00:57 +0000 (23:00 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1085 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/pstream.c

index 60c059381d3b0a2d75657632ac4f098c9676a7f9..e9b6f4c807507f94d4c04c47de214cf87dc9ab74 100644 (file)
@@ -291,6 +291,7 @@ void pa_pstream_send_memblock(pa_pstream*p, uint32_t channel, int64_t offset, pa
     i->channel = channel;
     i->offset = offset;
     i->seek_mode = seek_mode;
+    i->with_creds = 0;
 
     pa_memblock_ref(i->chunk.memblock);
 
@@ -317,9 +318,6 @@ static void prepare_next_write_item(pa_pstream *p) {
         p->write.descriptor[PA_PSTREAM_DESCRIPTOR_OFFSET_LO] = 0;
         p->write.descriptor[PA_PSTREAM_DESCRIPTOR_SEEK] = 0;
 
-#ifdef SCM_CREDENTIALS
-        p->send_creds_now = 1;
-#endif
         
     } else {
         assert(p->write.current->type == PA_PSTREAM_ITEM_MEMBLOCK && p->write.current->chunk.memblock);
@@ -329,11 +327,12 @@ static void prepare_next_write_item(pa_pstream *p) {
         p->write.descriptor[PA_PSTREAM_DESCRIPTOR_OFFSET_HI] = htonl((uint32_t) (((uint64_t) p->write.current->offset) >> 32));
         p->write.descriptor[PA_PSTREAM_DESCRIPTOR_OFFSET_LO] = htonl((uint32_t) ((uint64_t) p->write.current->offset));
         p->write.descriptor[PA_PSTREAM_DESCRIPTOR_SEEK] = htonl(p->write.current->seek_mode);
+    }
 
 #ifdef SCM_CREDENTIALS
-        p->send_creds_now = 1;
+    p->send_creds_now = p->write.current->with_creds;
 #endif
-    }
+
 }
 
 static int do_write(pa_pstream *p) {