gameServer/stresstest2.hs
author smxx
Thu, 04 Feb 2010 14:48:49 +0000
changeset 2745 11fce231f24a
parent 2352 7eaf82cf0890
child 2948 3f21a9dc93d0
permissions -rw-r--r--
Engine: + Split PlaySound into PlaySound and LoopSound + Added overloaded versions of PlaySound/LoopSound that won't require voicepack parameter + LoopSound now allows multiple copies of the same sound to play looped and returns the channel used for playback (to stop them later) + StopSound now allows either a specific sound (single playback) or channel (single playback as well as looped playback) to be stopped + SoundChannel attribute for Gears to be used when looping sounds

{-# LANGUAGE CPP #-}

module Main where

import IO
import System.IO
import Control.Concurrent
import Network
import Control.Exception
import Control.Monad
import System.Random

#if !defined(mingw32_HOST_OS)
import System.Posix
#endif

testing = Control.Exception.handle print $ do
	delay <- randomRIO (100::Int, 300)
	threadDelay delay
	sock <- connectTo "127.0.0.1" (PortNumber 46631)
	hClose sock

forks i = do
	delay <- randomRIO (50::Int, 190)
	if i `mod` 10 == 0 then putStr (show i) else putStr "."
	hFlush stdout
	threadDelay delay
	forkIO testing
	forks (i + 1)

main = withSocketsDo $ do
#if !defined(mingw32_HOST_OS)
	installHandler sigPIPE Ignore Nothing;
#endif
	forks 1