#817: Does not compile on GNU/Hurd
-------------------------+--------------------------------------------------
 Reporter:  pino         |       Owner:  lennart
     Type:  enhancement  |      Status:  new    
Milestone:               |   Component:  daemon 
 Keywords:               |  
-------------------------+--------------------------------------------------
 pulseaudio 0.9.21 does not compile on GNU/Hurd yet. Below there is a list
 of the various problems and eventual solutions found:

 - src/pulse/context.c: usage of SA_NOCLDWAIT
   sigaction(2) shows it is Linux-only, and waitpid(2) says that checking
 for the presence of that flag and checking that the handler is SIG_IGN is
 equivalent; thus, make the SA_NOCLDWAIT flag check optionally compiled
 depending on the SA_NOCLDWAIT presence

 - src/pulsecore/memtrap.c: SA_SIGINFO
   the first step is using a simple sa_handler if SA_SIGINFO is not
 defined; futhermore, PA remaps memory in the SIGBUS signal handler, using
 the data provided in the siginfo_t, so just fail in the simple signal
 handler (as there's no memory remap job possible)

 - src/modules/rtp/module-rtp-recv.c: SO_TIMESTAMP
   Hurd does not support activating the timestamp receiving for sockets, so
 enable it only if SO_TIMESTAMP is defined

 - src/modules/rtp/rtp.c: SO_TIMESTAMP
   most probably the right type to check should be SCM_TIMESTAMP, like
 other types available for cmsg_type (eg SCM_RIGHTS)

 - src/modules/module-pipe-source.c: PIPE_BUF
   make use of the available pa_pipe_buf() for the job, hopefully with the
 correct fd

 - src/utils/pacmd.c: PIPE_BUF
   here the two 'ibuf' and 'obuf' are dynamically allocated with the
 minimum size of all the pipe_buf for the fd's they are used as buffer when
 reading from and writing to

 - src/pulsecore/mutex-posix.c: runtime assert() failing
   pa_mutex_new asserts on setting the PRIO_INHERIT on the mutex
 attributes, but this is not implemented on Hurd yet; although, given few
 lines below the code gracefully handles such case, then make that
 pthread_mutexattr_setprotocol() do that as well

 The attached patch was produced against a 0.9.21 tree.

-- 
Ticket URL: <http://pulseaudio.org/ticket/817>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
_______________________________________________
pulseaudio-tickets mailing list
pulseaudio-tickets@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets

Reply via email to