Commit graph

27 commits

Author SHA1 Message Date
Daniel Mack
17d34462ea poll() is totally broken on Mac OS X
Even on 10.5.8, poll() does not do the right thing. Haven't checked on
newer versions. Hence, wrap all occurences of poll() to pa_poll and
emulate that call with select() on OSX. This is totally embarassing.
2009-12-16 16:11:36 +08:00
Lennart Poettering
65e7bc18a9 use cloexec wrappers wherever applicable 2009-10-30 03:32:38 +01:00
Lennart Poettering
f84d755d6a mainloop: fix detection of rt clocks 2009-09-18 22:16:25 +02:00
Lennart Poettering
d6291511a2 mainloop: pass monotonic times back to user if he passed monotonic times to us 2009-09-18 04:21:01 +02:00
Lennart Poettering
fb4a2a1bbb mainloop: sum up dispatched events in an unsigned to clarify range 2009-09-18 04:14:37 +02:00
Lennart Poettering
18d69c5d9d mainloop: use PA_LLIST_FOREACH macros where applicable 2009-09-18 04:14:37 +02:00
Lennart Poettering
b32f5994e9 mainloop: don't initialize fields we don't have to 2009-09-18 04:14:36 +02:00
Lennart Poettering
a049909a70 mainloop: calculate in pa_usec_t everywhere 2009-09-18 04:14:36 +02:00
Lennart Poettering
a43118b730 mainloop: properly convert time to wallclock time when handing it to the user 2009-09-18 04:14:36 +02:00
Maxim Levitsky
23a294c97e Correctly deal with events in the past in calc_next_timeout
pa_usec_t is unsigned, thus it will always be >= 0
This makes gstreamer pulse mixer work again

This fixes a gstreamer mixer regression, when it can't control the volume,
after few changes.
2009-08-10 21:23:26 +02:00
Lennart Poettering
f753ef2a23 rtclock: enable rtclock for our own mainloop implementations 2009-06-22 23:49:40 +02:00
Marc-André Lureau
e4d914c945 rtclock: fix issues found by Lennart 2009-06-20 17:29:34 +03:00
Marc-André Lureau
0955e3d45b Base mainloop on pa_rtclock_now()
Move the mainloop to monotonic based time events.

Introduces 4 helper functions:
pa_{context,core}_rttime_{new,restart}(), that fill correctly a
timeval with the rtclock flag set if the mainloop supports it.

Both mainloop-test and mainloop-test-glib works with rt and timeval
based time events. PulseAudio and clients should be fully functional.

This patch has received several iterations, and this one as been
largely untested.

Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
2009-06-20 17:29:31 +03:00
Colin Guthrie
86dee05aec Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
Lennart Poettering
b7026bf248 add a few more gcc warning flags and fix quite a few problems found by doing so 2008-08-19 22:39:54 +02:00
Lennart Poettering
f1d2bf8408 add i18n support 2008-08-06 18:54:13 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
a67c21f093 merge 'lennart' branch back into trunk.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-28 19:13:50 +00:00
Pierre Ossman
06211b7c8f Add copyright notices to all relevant files. (based on svn log)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13 15:35:19 +00:00
Pierre Ossman
521daf6f0a Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
mmmkay?


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 13:43:45 +00:00
Lennart Poettering
e385d93e5a remove all occurences of
pa_logXXX(__FILE__":  
   
and replace them by 
  
   pa_logXXX("



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 21:38:40 +00:00
Lennart Poettering
6afb61efdc remove superfluous code
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1155 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-27 16:49:44 +00:00
Lennart Poettering
358e577403 remove two superfluous lines
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1154 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-26 22:39:56 +00:00
Lennart Poettering
0d7be3148e mainloop fixes: when disabling time events when dispatching them, make sure to adjust the cache time event and enabled time event counters
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1153 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-26 22:39:06 +00:00
Lennart Poettering
563fab983f Results of profiling PulseAudio with valgrind's callgrind module: rework the default event loop implementation to use PA_LLIST_xxx instead of pa_idxset; don't generate weakeup events if we aren't in STATE_POLLING; minimize dispatching of io events; cache next time event instead of traversing the list of time events on every event loop iteration; other optimizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1148 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-25 20:39:34 +00:00
Lennart Poettering
860be2e70b try to use send(,,MSG_NOSIGNAL) instead of write() wherever possible (which
will allow us to drop the SIGPIPE check). Cache the results of the last
write()/send() to make sure that we do not issue more than necessary system
calls.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1083 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-14 22:42:01 +00:00
Lennart Poettering
f44ba09265 big s/polyp/pulse/g
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 21:53:48 +00:00
Renamed from src/polyp/mainloop.c (Browse further)