[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Offer to help DD's who maintain games



I've noticed in recent months a recurring problem in games that spawn off
a soundserver to manage sound output. This especially concerns those games
that are written from scratch (ie., not using clanlib or some other game
development toolkit, which presumably do things right :-).

Many of these games (I've found 3 so far; cf #31274, #112584, #149228) use
a Unix-level pipe to communicate with the soundserver process. However,
they do not handle pipe conditions such as EOF or EPIPE properly. They
often work OK when the game is able to open the sound device; but a lot of
problems arise when sound hardware is not available / not accessible to
the game.

Symptoms include: 
- soundserver processes lingering around after the game exits
- kill -9 of the game orphans the soundserver (soundserver doesn't detect
  when main process is gone)
- the above two conditions often results in an infinite loop in the 
  soundserver that consumes 100% CPU, leading to lockups on slow machines
  or slowdown on faster ones.
- the entire game may hang after a while (pipe fills up and write() 
  blocks)

The thing is, there is often an EASY fix for these problems. So this is my
offer to help DD's who maintain such games fix these soundserver-related
problems in their packages. If you maintain a game that exhibits symptoms
like what I describe, please let me know and I'll take a look at them.

Thanks!


T

-- 
Why waste time learning, when ignorance is instantaneous? -- Hobbes

Attachment: pgpPRa5F_vATp.pgp
Description: PGP signature


Reply to: